diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f337524c5..ded16a95d 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, 1.9.0 ] steps : - uses : actions/checkout@v3 @@ -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 : @@ -155,7 +162,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.21 ] + kotlin-version : [ 1.8.22, 1.9.0 ] agp-version : [ 7.1.1, 7.2.0, 7.3.1 ] steps : @@ -206,7 +213,7 @@ jobs : # solution. fail-fast : false matrix : - kotlin-version : [ 1.8.21 ] + kotlin-version : [ 1.8.22, 1.9.0 ] steps : - uses : actions/checkout@v3 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/build.gradle b/build.gradle index 8deefc0af..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.8.21') 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} 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. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index eb91478cc..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.21" +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" }