Skip to content

Commit a595932

Browse files
committed
Drop Kotlin 1.8 support
1 parent 2929510 commit a595932

File tree

8 files changed

+17
-41
lines changed

8 files changed

+17
-41
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs :
1616
strategy :
1717
fail-fast : false
1818
matrix :
19-
kotlin-version : [ 1.8.22, 1.9.20 ]
19+
kotlin-version : [ 1.9.20 ]
2020

2121
steps :
2222
- uses : actions/checkout@v3
@@ -36,7 +36,7 @@ jobs :
3636
strategy :
3737
fail-fast : false
3838
matrix :
39-
kotlin-version : [ 1.8.22, 1.9.20 ]
39+
kotlin-version : [ 1.9.20 ]
4040

4141
steps :
4242
- uses : actions/checkout@v3
@@ -175,13 +175,6 @@ jobs :
175175
ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }}
176176
ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
177177

178-
# TODO: Remove when we drop Kotlin 1.8 support
179-
- name : Publish Snapshots 1.8
180-
run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.10-1-8-SNAPSHOT
181-
env :
182-
ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }}
183-
ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
184-
185178
test-gradle-plugin :
186179
runs-on : ubuntu-latest
187180

@@ -193,7 +186,7 @@ jobs :
193186
# solution.
194187
fail-fast : false
195188
matrix :
196-
kotlin-version : [ 1.8.22, 1.9.20 ]
189+
kotlin-version : [ 1.9.20 ]
197190
agp-version : [ 7.1.1, 7.2.0, 7.3.1 ]
198191

199192
steps :
@@ -225,7 +218,7 @@ jobs :
225218
# solution.
226219
fail-fast : false
227220
matrix :
228-
kotlin-version : [ 1.8.22, 1.9.20 ]
221+
kotlin-version : [ 1.9.20 ]
229222

230223
steps :
231224
- uses : actions/checkout@v3

.github/workflows/release.yaml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,6 @@ jobs :
2828
ORG_GRADLE_PROJECT_signingInMemoryKey : ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }}
2929
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword : ''
3030

31-
# TODO: Remove when we drop Kotlin 1.8 support
32-
- name : Publish Release 1.8
33-
run : ./gradlew clean publish --no-build-cache --no-daemon --stacktrace --no-parallel -Doverride_kotlin=1.8.22 -PVERSION_NAME=2.4.10-1-8
34-
env :
35-
ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.SONATYPE_NEXUS_USERNAME }}
36-
ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
37-
ORG_GRADLE_PROJECT_signingInMemoryKey : ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }}
38-
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword : ''
39-
4031
- name : Extract release notes
4132
id : release_notes
4233
uses : ffurrer2/extract-release-notes@v1

build-logic/settings/src/main/kotlin/com/squareup/anvil/builds/settings/SettingsPlugin.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,6 @@ abstract class SettingsPlugin @Inject constructor(
3030
.forEach { (key, value) ->
3131
val alias = key.substring("override_".length)
3232
catalogBuilder.overrideVersion(alias = alias, versionString = value.toString())
33-
34-
if (alias == "kotlin" && value.toString().startsWith("1.8")) {
35-
// TODO hardcoded to match what's in libs.versions.toml, but kinda ugly
36-
catalogBuilder.overrideVersion(alias = "ksp", versionString = "$value-1.0.11")
37-
// KCT versions after 0.3.2 are not compatible with Kotlin 1.8
38-
catalogBuilder.overrideVersion(alias = "kct", versionString = "0.3.2")
39-
}
4033
}
4134

4235
catalogBuilder.version("config-warningsAsErrors", System.getenv("CI") ?: "false")

compiler-utils/src/main/java/com/squareup/anvil/compiler/internal/KotlinPoetUtils.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,8 @@ private fun FileSpec.Builder.suppressWarnings() {
109109
.addMember("\"DEPRECATION\"")
110110
// Suppress errors for experimental features in generated code.
111111
.apply {
112-
if (KotlinVersion.CURRENT > KotlinVersion(1, 6, 10)) {
113-
addMember("\"OPT_IN_USAGE\"")
114-
addMember("\"OPT_IN_USAGE_ERROR\"")
115-
} else {
116-
addMember("\"EXPERIMENTAL_API_USAGE_ERROR\"")
117-
addMember("\"EXPERIMENTAL_API_USAGE\"")
118-
}
112+
addMember("\"OPT_IN_USAGE\"")
113+
addMember("\"OPT_IN_USAGE_ERROR\"")
119114
}
120115
.build(),
121116
)

compiler/api/compiler.api

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ public final class com/squareup/anvil/compiler/AnvilCommandLineProcessor : org/j
55
public fun processOption (Lorg/jetbrains/kotlin/compiler/plugin/AbstractCliOption;Ljava/lang/String;Lorg/jetbrains/kotlin/config/CompilerConfiguration;)V
66
}
77

8+
public synthetic class com/squareup/anvil/compiler/AnvilCommandLineProcessor$EntriesMappings {
9+
public static final synthetic field entries$0 Lkotlin/enums/EnumEntries;
10+
}
11+
812
public final class com/squareup/anvil/compiler/AnvilComponentRegistrar : org/jetbrains/kotlin/compiler/plugin/ComponentRegistrar {
913
public fun <init> ()V
1014
public final fun addCodeGenerators (Ljava/util/List;)V
@@ -24,6 +28,10 @@ public final class com/squareup/anvil/compiler/CommandLineOptions$Companion {
2428
public final fun getCommandLineOptions (Lorg/jetbrains/kotlin/config/CompilerConfiguration;)Lcom/squareup/anvil/compiler/CommandLineOptions;
2529
}
2630

31+
public synthetic class com/squareup/anvil/compiler/CommandLineOptions$Companion$EntriesMappings {
32+
public static final synthetic field entries$0 Lkotlin/enums/EnumEntries;
33+
}
34+
2735
public final class com/squareup/anvil/compiler/codegen/reference/RealAnvilModuleDescriptor : com/squareup/anvil/compiler/internal/reference/AnvilModuleDescriptor, org/jetbrains/kotlin/descriptors/ModuleDescriptor {
2836
public synthetic fun <init> (Lorg/jetbrains/kotlin/descriptors/ModuleDescriptor;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
2937
public fun accept (Lorg/jetbrains/kotlin/descriptors/DeclarationDescriptorVisitor;Ljava/lang/Object;)Ljava/lang/Object;

compiler/src/main/java/com/squareup/anvil/compiler/AnvilCommandLineProcessor.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,9 @@ public class AnvilCommandLineProcessor : CommandLineProcessor {
6767
required = false,
6868
allowMultipleOccurrences = false,
6969
),
70-
@Suppress("EnumValuesSoftDeprecate") // Can't use Enum.entries while targeting Kotlin 1.8
7170
CliOption(
7271
optionName = backendName,
73-
valueDescription = AnvilBackend.values().joinToString("|", "<", ">"),
72+
valueDescription = AnvilBackend.entries.joinToString("|", "<", ">"),
7473
description = "Controls whether Anvil is running as an embedded plugin or as KSP.",
7574
required = false,
7675
allowMultipleOccurrences = false,

compiler/src/main/java/com/squareup/anvil/compiler/CommandLineOptions.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@ public class CommandLineOptions private constructor(
1919
backend = parseBackend(),
2020
)
2121

22-
@Suppress("EnumValuesSoftDeprecate") // Can't use Enum.entries while targeting Kotlin 1.8
2322
private fun CompilerConfiguration.parseBackend(): AnvilBackend {
2423
val config = get(backendKey, AnvilBackend.EMBEDDED.name)
2524
return config
2625
.uppercase(Locale.US)
27-
.let { value -> AnvilBackend.values().find { it.name == value } }
26+
.let { value -> AnvilBackend.entries.find { it.name == value } }
2827
?: error("Unknown backend option: '$config'")
2928
}
3029
}

gradle-plugin/src/gradleTest/java/com/squareup/anvil/plugin/AnvilVersionMatrix.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class AnvilVersionMatrix(
1717
) : KaseMatrix by KaseMatrix(agp + kotlin + gradle + dagger) {
1818
private companion object {
1919
val agpList = setOf("7.3.1", "7.4.2", "8.0.2", "8.1.1", "8.2.0").map(::AgpDependencyVersion)
20-
val kotlinList = setOf("1.8.21", "1.9.0", "1.9.10", "1.9.21").map(::KotlinDependencyVersion)
20+
val kotlinList = setOf("1.9.0", "1.9.10", "1.9.21").map(::KotlinDependencyVersion)
2121
val gradleList = setOf("8.5").map(::GradleDependencyVersion)
2222
val daggerList = setOf("2.46.1").map(::DaggerDependencyVersion)
2323
}
@@ -29,8 +29,6 @@ class AnvilVersionMatrix(
2929
val HasKotlinDependencyVersion.kspDependencyVersion: KspDependencyVersion
3030
get() {
3131
val kspPart = when (kotlinVersion) {
32-
in ("1.8.10"..<"1.8.20") -> "1.0.9"
33-
in ("1.8.20"..<"1.9.0") -> "1.0.11"
3432
in ("1.9.0"..<"1.9.10") -> "1.0.11"
3533
in ("1.9.10"..<"1.9.20") -> "1.0.13"
3634
else -> "1.0.15"

0 commit comments

Comments
 (0)