From 3c963733f6f72da1cd6cc3c9a5b4116ecab5338d Mon Sep 17 00:00:00 2001 From: Roman Minenok Date: Tue, 8 Aug 2023 21:30:10 +0300 Subject: [PATCH] CXAN-482 Update JDK, Kotlin and other deps (#630) * Update JDK, Kotlin and other deps * Fix models generation * Revert Kotlin poet * Remove unneeded line --- api-core/build.gradle | 6 +++--- auth/build.gradle | 6 +++--- example/build.gradle | 4 ++-- gradle/libs.versions.toml | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- model-generator/integrations/models-input/build.gradle | 4 ++-- model-generator/integrations/models-output/build.gradle | 4 ++-- model-generator/plugin/build.gradle | 4 ++-- model-generator/plugin/settings.gradle | 2 -- .../java/com/vimeo/modelgenerator/GenerateModelsPlugin.kt | 5 +++++ .../java/com/vimeo/modelgenerator/PsiToPoetHelpers.kt | 3 --- models-annotations/build.gradle | 6 +++--- models-parcelable/build.gradle | 6 +++--- models-serializable/build.gradle | 4 ++-- models/build.gradle | 6 +++--- publish.gradle | 4 ++-- publish_android.gradle | 4 ++-- request/build.gradle | 6 +++--- settings.gradle | 2 -- vimeo-networking/build.gradle | 8 ++++---- 20 files changed, 45 insertions(+), 47 deletions(-) diff --git a/api-core/build.gradle b/api-core/build.gradle index 3dadee349..b2fdf4958 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 1c90d927f..13c2068c1 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 3539a76bb..dc3bca8c7 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 d16969249..2cc172b50 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 44340b8df..7d140dec3 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 76391347c..73443f59a 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 afbe48696..e1f851aa3 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 1a720adfc..85becdbd0 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 0043fc5fe..9c9c27cef 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 69d30da1b..50feb89ff 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 1c9088617..c31f3b1db 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 692fb5b8f..9727c0fd9 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 8481ecca0..b178a3054 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 420132dd9..f3a58cb35 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 ed370dd8d..9363eacd8 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 9dc34bc70..6e7677128 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 79081d2ed..c78e5ec22 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 7eab27b3a..d6ac2ec1e 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 403019d74..25db9197d 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 8337e4a54..cffc7400f 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 }