diff --git a/api-core/build.gradle b/api-core/build.gradle index 3dadee34..b2fdf495 100644 --- a/api-core/build.gradle +++ b/api-core/build.gradle @@ -24,9 +24,9 @@ dependencies { compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = JavaVersion.VERSION_11 } } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/auth/build.gradle b/auth/build.gradle index 1c90d927..13c2068c 100644 --- a/auth/build.gradle +++ b/auth/build.gradle @@ -15,9 +15,9 @@ dependencies { compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = JavaVersion.VERSION_11 } } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/example/build.gradle b/example/build.gradle index 3539a76b..dc3bca8c 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -18,8 +18,8 @@ android { } } compileOptions { - sourceCompatibility 1.8 - targetCompatibility 1.8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } buildFeatures { viewBinding true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d1696924..2cc172b5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,19 +1,19 @@ [versions] detekt = "1.19.0" moshi = "1.13.0" -kotlin = "1.6.10" +kotlin = "1.8.10" retrofit = "2.9.0" [plugins] detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } ben-manes = { id = "com.github.ben-manes.versions", version = "0.42.0" } kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } -ksp = { id = "com.google.devtools.ksp", version = "1.6.10-1.0.4" } +ksp = { id = "com.google.devtools.ksp", version = "1.8.10-1.0.9" } [libraries] #Plugins -android-gradle = { module = "com.android.tools.build:gradle", version = "7.1.3" } +android-gradle = { module = "com.android.tools.build:gradle", version = "7.4.2" } kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } bintray-gradle = { module = "com.jfrog.bintray.gradle:gradle-bintray-plugin", version = "1.8.5" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 44340b8d..7d140dec 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Apr 11 14:29:44 EDT 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/model-generator/integrations/models-input/build.gradle b/model-generator/integrations/models-input/build.gradle index 76391347..73443f59 100644 --- a/model-generator/integrations/models-input/build.gradle +++ b/model-generator/integrations/models-input/build.gradle @@ -8,5 +8,5 @@ dependencies { ksp libs.moshi.codegen } -sourceCompatibility = "1.8" -targetCompatibility = "1.8" +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/model-generator/integrations/models-output/build.gradle b/model-generator/integrations/models-output/build.gradle index afbe4869..e1f851aa 100644 --- a/model-generator/integrations/models-output/build.gradle +++ b/model-generator/integrations/models-output/build.gradle @@ -23,5 +23,5 @@ dependencies { testImplementation libs.podam } -sourceCompatibility = "1.8" -targetCompatibility = "1.8" +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/model-generator/plugin/build.gradle b/model-generator/plugin/build.gradle index 1a720adf..85becdbd 100644 --- a/model-generator/plugin/build.gradle +++ b/model-generator/plugin/build.gradle @@ -13,8 +13,8 @@ dependencies { implementation libs.moshi.kotlin } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 gradlePlugin { plugins { diff --git a/model-generator/plugin/settings.gradle b/model-generator/plugin/settings.gradle index 0043fc5f..9c9c27ce 100644 --- a/model-generator/plugin/settings.gradle +++ b/model-generator/plugin/settings.gradle @@ -1,5 +1,3 @@ -enableFeaturePreview("VERSION_CATALOGS") - dependencyResolutionManagement { versionCatalogs { libs { diff --git a/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/GenerateModelsPlugin.kt b/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/GenerateModelsPlugin.kt index 69d30da1..50feb89f 100644 --- a/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/GenerateModelsPlugin.kt +++ b/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/GenerateModelsPlugin.kt @@ -21,6 +21,10 @@ class GenerateModelsPlugin : Plugin { project.pluginManager.withPlugin(KOTLIN_JVM) { registerTask(project, extension) + project.afterEvaluate { + project.tasks.findByName(KSP_KOTLIN)?.dependsOn(project.tasks.findByName(GENERATE_MODELS)) + } + // kaptGenerateStubsKotlin is used as the set up task instead of build // because kapt code generation happens before build is called and // we need to generate the models prior to kapt so the Moshi adapters @@ -52,6 +56,7 @@ class GenerateModelsPlugin : Plugin { private const val KAPT_GENERATE_STUBS = "kaptGenerateStubsKotlin" private const val COMPILE_KOTLIN = "compileKotlin" private const val PRE_BUILD = "preBuild" + private const val KSP_KOTLIN = "kspKotlin" private const val EXTENSION_NAME = "generated" private const val KOTLIN_JVM = "org.jetbrains.kotlin.jvm" private const val KOTLIN_ANDROID = "kotlin-android" diff --git a/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/PsiToPoetHelpers.kt b/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/PsiToPoetHelpers.kt index 1c908861..c31f3b1d 100644 --- a/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/PsiToPoetHelpers.kt +++ b/model-generator/plugin/src/main/java/com/vimeo/modelgenerator/PsiToPoetHelpers.kt @@ -132,9 +132,6 @@ internal fun createConstructorParams( it.validateName, createTypeName(it.typeReference, packageName) ) - .addIfConditionMet(it.modifierList?.isOverridden == true) { - addModifiers(KModifier.OVERRIDE) - } .addIfConditionMet(it.defaultValue != null) { defaultValue("%L", it.defaultValue?.text) } diff --git a/models-annotations/build.gradle b/models-annotations/build.gradle index 692fb5b8..9727c0fd 100644 --- a/models-annotations/build.gradle +++ b/models-annotations/build.gradle @@ -14,9 +14,9 @@ dependencies { compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = JavaVersion.VERSION_11 } } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/models-parcelable/build.gradle b/models-parcelable/build.gradle index 8481ecca..b178a305 100644 --- a/models-parcelable/build.gradle +++ b/models-parcelable/build.gradle @@ -40,12 +40,12 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_11 } } diff --git a/models-serializable/build.gradle b/models-serializable/build.gradle index 420132dd..f3a58cb3 100644 --- a/models-serializable/build.gradle +++ b/models-serializable/build.gradle @@ -26,5 +26,5 @@ dependencies { testImplementation libs.robolectric } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/models/build.gradle b/models/build.gradle index ed370dd8..9363eacd 100644 --- a/models/build.gradle +++ b/models/build.gradle @@ -19,9 +19,9 @@ dependencies { compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = JavaVersion.VERSION_11 } } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/publish.gradle b/publish.gradle index 9dc34bc7..6e767712 100644 --- a/publish.gradle +++ b/publish.gradle @@ -56,12 +56,12 @@ allprojects { } task sourcesJar(type: Jar, dependsOn: classes) { - classifier = 'sources' + archiveClassifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier = 'javadoc' from javadoc.destinationDir } diff --git a/publish_android.gradle b/publish_android.gradle index 79081d2e..c78e5ec2 100644 --- a/publish_android.gradle +++ b/publish_android.gradle @@ -54,9 +54,9 @@ allprojects { } } - task androidSourcesJar(type: Jar) { - classifier = 'sources' + dependsOn 'generateModels' + archiveClassifier = 'sources' from android.sourceSets.main.java.source } diff --git a/request/build.gradle b/request/build.gradle index 7eab27b3..d6ac2ec1 100644 --- a/request/build.gradle +++ b/request/build.gradle @@ -9,9 +9,9 @@ dependencies { compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = JavaVersion.VERSION_11 } } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 diff --git a/settings.gradle b/settings.gradle index 403019d7..25db9197 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,3 @@ -enableFeaturePreview("VERSION_CATALOGS") - includeBuild('model-generator/plugin') include ':vimeo-networking', ':auth', diff --git a/vimeo-networking/build.gradle b/vimeo-networking/build.gradle index 8337e4a5..cffc7400 100644 --- a/vimeo-networking/build.gradle +++ b/vimeo-networking/build.gradle @@ -2,12 +2,12 @@ apply plugin: 'kotlin' apply from: '../publish.gradle' compileJava { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 tasks.withType(Javadoc).all { enabled = true }