Skip to content

Commit 2eddbf2

Browse files
authored
Downgrade to AGP 8 (#109)
* Also migrate java build script to Kotlin * Remove AGP 9 API usage
1 parent 0de2c0d commit 2eddbf2

13 files changed

Lines changed: 1048 additions & 1034 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

android-ktx/lib/build.gradle.kts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
//
1818

1919
import org.jetbrains.dokka.gradle.DokkaTask
20-
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
20+
2121
import java.io.BufferedReader
2222
import java.io.FileReader
2323
import java.time.Instant
@@ -26,6 +26,7 @@ import java.util.regex.Pattern
2626
plugins {
2727
id("maven-publish")
2828
alias(libs.plugins.android.library)
29+
alias(libs.plugins.kotlin.android)
2930
alias(libs.plugins.dokka)
3031
}
3132

@@ -87,11 +88,7 @@ android {
8788
sourceCompatibility = JavaVersion.VERSION_11
8889
}
8990

90-
kotlin {
91-
compilerOptions {
92-
jvmTarget = JvmTarget.JVM_11
93-
}
94-
}
91+
kotlinOptions { jvmTarget = "11" }
9592

9693
packaging {
9794
resources.excludes += "META-INF/library_release.kotlin_module"
@@ -130,32 +127,32 @@ android {
130127
sourceSets {
131128
getByName("main") {
132129
manifest.srcFile("${cblCommonAndroidKtxDir}/main/AndroidManifest.xml")
133-
kotlin.directories.addAll(setOf(
130+
kotlin.setSrcDirs(setOf(
134131
"${cblCommonDir}/main/kotlin",
135132
"${cblCommonAndroidKtxDir}/main/kotlin",
136133
"${cblCECommonDir}/main/kotlin",
137134
"src/main/kotlin"
138135
))
139-
res.directories.add("${cblCommonAndroidKtxDir}/main/res")
136+
res.setSrcDirs(setOf("${cblCommonAndroidKtxDir}/main/res"))
140137
}
141138
getByName("debug") {
142139
manifest.srcFile("${cblCommonAndroidKtxDir}/debug/AndroidManifest.xml")
143140
}
144141
getByName("androidTest") {
145-
java.directories.addAll(setOf(
142+
java.setSrcDirs(setOf(
146143
"${cblCommonDir}/test/java",
147144
"${cblCommonAndroidDir}/androidTest/java"
148145
))
149-
kotlin.directories.addAll(setOf(
146+
kotlin.setSrcDirs(setOf(
150147
"${cblCommonDir}/test/java",
151148
"${cblCommonAndroidDir}/androidTest/java",
152149
"${cblCommonDir}/test/kotlin",
153150
"${cblCECommonDir}/test/kotlin",
154151
"${cblCommonAndroidKtxDir}/androidTest/kotlin",
155152
"src/androidTest/kotlin"
156153
))
157-
assets.directories.add("${cblCommonDir}/test/assets")
158-
res.directories.add("${cblCommonAndroidKtxDir}/androidTest/res")
154+
assets.setSrcDirs(setOf("${cblCommonDir}/test/assets"))
155+
res.setSrcDirs(setOf("${cblCommonAndroidKtxDir}/androidTest/res"))
159156
}
160157
}
161158
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

android/lib/build.gradle.kts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ plugins {
1010
id("checkstyle")
1111
id("pmd")
1212
id("maven-publish")
13-
// AGP 9: the full SpotBugs plugin still expects the old Android BaseExtension; use the task-only base plugin here.
1413
alias(libs.plugins.spotbugs)
1514
alias(libs.plugins.android.library)
1615
}
@@ -163,47 +162,47 @@ android {
163162
sourceSets {
164163
getByName("main") {
165164
manifest.srcFile("${cblCommonAndroidDir}/main/AndroidManifest.xml")
166-
java.directories.addAll(
165+
java.setSrcDirs(
167166
setOf(
168167
"${cblCommonDir}/main/java", // Common
169168
"${cblCommonAndroidDir}/main/java", // Common Android
170169
"${cblCECommonDir}/main/java", // CE Common
171170
"src/main/java"
172171
)
173172
)
174-
res.directories.add(
173+
res.setSrcDirs(setOf(
175174
"${cblCommonAndroidDir}/main/res" // Common resources
176-
)
175+
))
177176
}
178177
getByName("debug") {
179178
manifest.srcFile("${cblCommonAndroidDir}/debug/AndroidManifest.xml")
180179
}
181180
getByName("androidTest") {
182-
java.directories.addAll(
181+
java.setSrcDirs(
183182
setOf(
184183
"${cblCommonDir}/test/java", // Common tests
185184
"${cblCommonAndroidDir}/androidTest/java", // Common Android tests
186185
"${cblCECommonDir}/test/java", // CE Common tests
187186
"src/androidTest/java" // CE Android tests
188187
)
189188
)
190-
kotlin.directories.addAll(
189+
kotlin.setSrcDirs(
191190
setOf(
192191
"${cblCommonDir}/test/java", // Common tests
193192
"${cblCommonAndroidDir}/androidTest/java", // Common Android tests
194193
"${cblCECommonDir}/test/java", // CE Common tests
195194
"src/androidTest/java" // CE Android tests
196195
)
197196
)
198-
assets.directories.addAll(
197+
assets.setSrcDirs(
199198
setOf(
200199
"${cblCommonDir}/test/assets", // Common assets
201200
"${cblCECommonDir}/test/assets" // CE Common assets
202201
)
203202
)
204-
res.directories.add(
203+
res.setSrcDirs(setOf(
205204
"${cblCommonAndroidDir}/androidTest/res" // Common test resources
206-
)
205+
))
207206
}
208207
}
209208

@@ -401,8 +400,7 @@ afterEvaluate {
401400
tasks.named<Javadoc>("javadoc") {
402401
dependsOn(
403402
tasks.named("generateReleaseBuildConfig"),
404-
tasks.named("generateReleaseRFile"),
405-
tasks.named("compileReleaseKotlin")
403+
tasks.named("generateReleaseRFile")
406404
)
407405

408406
classpath += project.files(android.sourceSets.getByName("main").java.srcDirs.joinToString(File.pathSeparator))
@@ -417,8 +415,6 @@ afterEvaluate {
417415
dependsOn(
418416
tasks.named("generateDebugRFile"),
419417
tasks.named("generateReleaseRFile"),
420-
tasks.named("compileDebugKotlin"),
421-
tasks.named("compileReleaseKotlin"),
422418
tasks.named("compileDebugJavaWithJavac")
423419
)
424420

java/build.gradle

Lines changed: 0 additions & 38 deletions
This file was deleted.

java/build.gradle.kts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//
2+
// Copyright (c) 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Couchbase, Inc. All rights reserved.
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
//
15+
16+
// Versions are centralized in gradle/libs.versions.toml
17+
18+
extra["ROOT_DIR"] = "$projectDir/../.."
19+
20+
tasks.register<Delete>("clean") {
21+
delete(rootProject.layout.buildDirectory)
22+
}

0 commit comments

Comments
 (0)