From 7a296c15c7bc8a4c50a070f3a5edc01f357cc4f1 Mon Sep 17 00:00:00 2001 From: Joel Wilcox Date: Wed, 19 Jul 2023 17:30:48 -0700 Subject: [PATCH 1/4] Upgrade to Kotlin 1.8.22 --- .github/workflows/ci.yml | 6 +++--- build.gradle | 2 +- gradle/libs.versions.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f337524c5..c2a81b85d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs : strategy : fail-fast : false matrix : - kotlin-version : [ 1.8.21 ] + kotlin-version : [ 1.8.22 ] steps : - uses : actions/checkout@v3 @@ -155,7 +155,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.21 ] + kotlin-version : [ 1.8.22 ] agp-version : [ 7.1.1, 7.2.0, 7.3.1 ] steps : @@ -206,7 +206,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.21 ] + kotlin-version : [ 1.8.22 ] steps : - uses : actions/checkout@v3 diff --git a/build.gradle b/build.gradle index 8deefc0af..abbbe5a61 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ String kotlinVersion = libs.versions.kotlin.get() ext { ci = isCi - kotlinPreview = !kotlinVersion.startsWith('1.8.21') + kotlinPreview = !kotlinVersion.startsWith('1.8.22') fullTestRun = libs.versions.config.fullTestRun.get().toBoolean() warningsAsErrors = isCi } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index eb91478cc..6caeb058e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ autoValue = "1.10" dagger = "2.46.1" espresso = "3.5.1" gradlePublish = "0.15.0" -kotlin = "1.8.21" +kotlin = "1.8.22" ktlint = "0.41.0" ktlintPlugin = "10.2.0" mavenPublish = "0.18.0" From 6e3bba3f6adb4bdb49c4771e2266dd16907d4fb1 Mon Sep 17 00:00:00 2001 From: Joel Wilcox Date: Thu, 6 Jul 2023 16:13:43 -0700 Subject: [PATCH 2/4] Upgrade to Kotlin 1.9.0 --- .github/workflows/ci.yml | 6 +++--- build.gradle | 2 +- gradle/libs.versions.toml | 13 +++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2a81b85d..589c671a6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs : strategy : fail-fast : false matrix : - kotlin-version : [ 1.8.22 ] + kotlin-version : [ 1.8.22, 1.9.0 ] steps : - uses : actions/checkout@v3 @@ -155,7 +155,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.22 ] + kotlin-version : [ 1.8.22, 1.9.0 ] agp-version : [ 7.1.1, 7.2.0, 7.3.1 ] steps : @@ -206,7 +206,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.22 ] + kotlin-version : [ 1.8.22, 1.9.0 ] steps : - uses : actions/checkout@v3 diff --git a/build.gradle b/build.gradle index abbbe5a61..726727858 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ String kotlinVersion = libs.versions.kotlin.get() ext { ci = isCi - kotlinPreview = !kotlinVersion.startsWith('1.8.22') + kotlinPreview = !kotlinVersion.startsWith('1.9.0') fullTestRun = libs.versions.config.fullTestRun.get().toBoolean() warningsAsErrors = isCi } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6caeb058e..c6ca50c8f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,12 +9,13 @@ [versions] agp = "7.1.0" -autoService = "1.0.1" -autoValue = "1.10" +autoService = "1.1.1" +autoValue = "1.10.1" dagger = "2.46.1" +dokka = "1.8.20" espresso = "3.5.1" gradlePublish = "0.15.0" -kotlin = "1.8.22" +kotlin = "1.9.0" ktlint = "0.41.0" ktlintPlugin = "10.2.0" mavenPublish = "0.18.0" @@ -34,7 +35,7 @@ agp-application = { id = "com.android.application", version.ref = "agp" } agp-library = { id = "com.android.library", version.ref = "agp" } gradlePublish = { id = "com.gradle.plugin-publish", version.ref = "gradlePublish" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } -kotlin-dokka = { id = "org.jetbrains.dokka", version = "1.7.20" } +kotlin-dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } @@ -70,10 +71,10 @@ junit = "junit:junit:4.13" kotlin-annotationProcessingEmbeddable = { module = "org.jetbrains.kotlin:kotlin-annotation-processing-embeddable", version.ref = "kotlin" } kotlin-compileTesting = "dev.zacsweers.kctfork:core:0.2.0" kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" } -kotlin-dokka = "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20" +kotlin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } kotlin-gradlePluginApi = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin-api", version.ref = "kotlin" } -kotlin-metadata = "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.0" +kotlin-metadata = "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.2" kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } From ae984fcb06748c1e9f345e7e64fafa1fa955eb32 Mon Sep 17 00:00:00 2001 From: Joel Wilcox Date: Wed, 19 Jul 2023 17:50:32 -0700 Subject: [PATCH 3/4] Remove unused kotlin preview flag --- build.gradle | 1 - compiler/generate_build_properties.gradle | 3 --- 2 files changed, 4 deletions(-) diff --git a/build.gradle b/build.gradle index 726727858..db5cf787f 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,6 @@ String kotlinVersion = libs.versions.kotlin.get() ext { ci = isCi - kotlinPreview = !kotlinVersion.startsWith('1.9.0') fullTestRun = libs.versions.config.fullTestRun.get().toBoolean() warningsAsErrors = isCi } diff --git a/compiler/generate_build_properties.gradle b/compiler/generate_build_properties.gradle index fa9731282..d760c1001 100644 --- a/compiler/generate_build_properties.gradle +++ b/compiler/generate_build_properties.gradle @@ -9,7 +9,6 @@ def generateBuildProperties = project.tasks.register('generateBuildProperties') inputs.property 'fullTestRun', libs.versions.config.fullTestRun.get() inputs.property 'kotlinVersion', libs.versions.kotlin.get() - inputs.property 'kotlinPreview', rootProject.ext.kotlinPreview inputs.property 'warningsAsErrors', rootProject.ext.warningsAsErrors outputs.file buildPropertiesFile @@ -18,8 +17,6 @@ def generateBuildProperties = project.tasks.register('generateBuildProperties') buildPropertiesFile.parentFile.mkdirs() buildPropertiesFile.write """\ package com.squareup.anvil.compiler - - internal const val KOTLIN_PREVIEW = ${rootProject.ext.kotlinPreview} internal const val WARNINGS_AS_ERRORS = ${rootProject.ext.warningsAsErrors} From 9682541f32833265feff9126d74a6a0f76b81799 Mon Sep 17 00:00:00 2001 From: Joel Wilcox Date: Wed, 19 Jul 2023 18:11:09 -0700 Subject: [PATCH 4/4] Update release process to publish separate releases for Kotlin 1.9 and 1.8 --- .github/workflows/ci.yml | 9 ++++++++- .github/workflows/release.yaml | 11 ++++++++++- gradle.properties | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 589c671a6..ded16a95d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -135,12 +135,19 @@ jobs : java-version : '11' check-latest : true - - name : Publish Snapshots + - name : Publish Snapshots 1.9 run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel && cd gradle-plugin && ./gradlew clean publish --no-build-cache --no-daemon --stacktrace && cd .. env : ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + # TODO: Remove when we drop Kotlin 1.8 support + - name : Publish Snapshots 1.8 + run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.7-1-8-SNAPSHOT && cd gradle-plugin && ./gradlew clean publish --no-build-cache --no-daemon --stacktrace -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.7-1-8-SNAPSHOT && cd .. + env : + ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + build-gradle-plugin : runs-on : ubuntu-latest defaults : diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1c1f89be6..a94f9cd20 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -20,7 +20,7 @@ jobs : java-version : '11' check-latest : true - - name : Publish Release + - name : Publish Release 1.9 run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel && cd gradle-plugin && ./gradlew clean publish --no-build-cache --no-daemon --stacktrace && cd .. env : ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }} @@ -28,6 +28,15 @@ jobs : ORG_GRADLE_PROJECT_signingInMemoryKey : ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }} ORG_GRADLE_PROJECT_signingInMemoryKeyPassword : '' + # TODO: Remove when we drop Kotlin 1.8 support + - name : Publish Release 1.8 + run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.7-1-8 && cd gradle-plugin && ./gradlew clean publish --no-build-cache --no-daemon --stacktrace -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.7-1-8 && cd .. + env : + ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey : ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword : '' + - name : Extract release notes id : release_notes uses : ffurrer2/extract-release-notes@v1 diff --git a/gradle.properties b/gradle.properties index c62f29271..15631e118 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ GROUP=com.squareup.anvil +# When updating this, make sure to also update the parallel release versions in release.yaml & ci.yml VERSION_NAME=2.4.7-SNAPSHOT POM_DESCRIPTION=A Kotlin compiler plugin to make dependency injection with Dagger 2 easier by automatically merging Dagger modules and component interfaces.