Skip to content

Commit dcfb5f6

Browse files
authored
Revert to KGP 2.0.0 as a minimum requirement (#92)
* Revert to KGP 2.0.0 as a minimum requirement * update apiDump * fix apiDump
1 parent af5752a commit dcfb5f6

4 files changed

Lines changed: 43 additions & 31 deletions

File tree

gradle/libs.versions.toml

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,31 @@
22
kgp = "2.2.0"
33

44
[libraries]
5+
agp = "com.android.tools.build:gradle:8.2.0"
6+
bcv = "org.jetbrains.kotlinx:binary-compatibility-validator:0.16.3"
7+
bouncycastle-pg = "org.bouncycastle:bcpg-jdk18on:1.78.1"
8+
bouncycastle-prov = "org.bouncycastle:bcprov-jdk18on:1.78.1"
9+
clikt = "com.github.ajalt.clikt:clikt:3.5.0"
10+
compat-patrouille = "com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin:0.0.0"
11+
compat-patrouille-at-build-time = "com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin:0.0.1-SNAPSHOT-1915e48aadee473b40b4873db7f8df82057b7c59"
512
coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0"
6-
maven-sympathy = "com.gradleup.maven-sympathy:maven-sympathy:0.0.2"
713
dokkatoo = "dev.adamko.dokkatoo:dokkatoo-plugin:2.3.1"
8-
14+
google-auth = "com.google.auth:google-auth-library-oauth2-http:1.19.0"
915
gradle-api = "dev.gradleplugins:gradle-api:8.8"
10-
agp = "com.android.tools.build:gradle:8.2.0"
11-
kgp-runtime-min = "org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.0"
12-
clikt = "com.github.ajalt.clikt:clikt:3.5.0"
13-
mordant = "com.github.ajalt.mordant:mordant:2.7.1"
16+
gratatouille-gradle-plugin = "com.gradleup.gratatouille:com.gradleup.gratatouille.gradle.plugin:0.0.10"
1417
inquirer = "com.github.kotlin-inquirer:kotlin-inquirer:0.1.0"
15-
jsonpath = "com.eygraber:jsonpathkt-kotlinx:3.0.2"
16-
okhttp = "com.squareup.okhttp3:okhttp:4.12.0"
17-
serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.0"
18-
serialization-gradle-plugin = {module = "org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin", version.ref = "kgp"}
1918
jansi = "org.fusesource.jansi:jansi:2.4.0"
19+
jsonpath = "com.eygraber:jsonpathkt-kotlinx:3.0.2"
2020
jsonpathkt = "com.eygraber:jsonpathkt-kotlinx:3.0.2"
21-
mockserver = "com.apollographql.mockserver:apollo-mockserver:0.0.3"
22-
xmlutil = "io.github.pdvrieze.xmlutil:serialization:0.91.1"
23-
bouncycastle-prov = "org.bouncycastle:bcprov-jdk18on:1.78.1"
24-
bouncycastle-pg = "org.bouncycastle:bcpg-jdk18on:1.78.1"
25-
google-auth = "com.google.auth:google-auth-library-oauth2-http:1.19.0"
26-
compat-patrouille = "com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin:0.0.0"
27-
28-
gratatouille-gradle-plugin = "com.gradleup.gratatouille:com.gradleup.gratatouille.gradle.plugin:0.0.10"
21+
kgp-compile-only = "org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.0"
22+
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kgp" }
2923
ksp-gradle-plugin = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.2.0-2.0.2"
3024
librarian-gradle-plugin = "com.gradleup.librarian:librarian-gradle-plugin:0.0.11-SNAPSHOT-0b7ec36d29d52e08df13ddcf4a4785326c128579"
31-
compat-patrouille-at-build-time = "com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin:0.0.1-SNAPSHOT-1915e48aadee473b40b4873db7f8df82057b7c59"
32-
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kgp" }
25+
maven-sympathy = "com.gradleup.maven-sympathy:maven-sympathy:0.0.2"
26+
mockserver = "com.apollographql.mockserver:apollo-mockserver:0.0.3"
27+
mordant = "com.github.ajalt.mordant:mordant:2.7.1"
3328
nmcp = "com.gradleup.nmcp:com.gradleup.nmcp.gradle.plugin:1.0.3"
34-
29+
okhttp = "com.squareup.okhttp3:okhttp:4.12.0"
30+
serialization-gradle-plugin = {module = "org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin", version.ref = "kgp"}
31+
serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.0"
32+
xmlutil = "io.github.pdvrieze.xmlutil:serialization:0.91.1"

librarian-gradle-plugin/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ dependencies {
1717
implementation(libs.maven.sympathy)
1818
implementation(libs.okhttp)
1919
implementation(libs.google.auth)
20+
implementation(libs.bcv)
2021

2122
implementation(libs.bouncycastle.pg)
2223
implementation(libs.bouncycastle.prov)
@@ -28,7 +29,7 @@ dependencies {
2829

2930
compileOnly(libs.gradle.api)
3031
compileOnly(libs.agp)
31-
implementation(libs.kgp.runtime.min)
32+
compileOnly(libs.kgp.compile.only)
3233

3334
testImplementation(kotlin("test"))
3435
testImplementation(gradleTestKit())
Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,33 @@
11
package com.gradleup.librarian.gradle
22

3+
import com.gradleup.librarian.core.tooling.init.kotlinPluginVersion
34
import org.gradle.api.Project
45
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
56
import org.jetbrains.kotlin.gradle.dsl.abi.AbiValidationExtension
67
import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation
8+
import java.util.Properties
79

810
@OptIn(ExperimentalAbiValidation::class)
9-
fun Project.configureBcv(block: AbiValidationExtension.() -> Unit = {}) {
11+
internal fun Project.configureBcv(properties: Properties?, block: AbiValidationExtension.() -> Unit = {}) {
1012
extensions.getByType(KotlinProjectExtension::class.java).apply {
11-
this.extensions.getByName("abiValidation").apply {
12-
this as AbiValidationExtension
13-
enabled.set(true)
14-
block()
13+
val abiValidation = this.extensions.findByName("abiValidation")
14+
15+
if (abiValidation != null) {
16+
abiValidation as AbiValidationExtension
17+
abiValidation.enabled.set(true)
18+
abiValidation.block()
19+
20+
tasks.named("build") {
21+
it.dependsOn("checkLegacyAbi")
1522
}
23+
} else {
24+
if (properties != null && properties.get("bcv.warn") != "false") {
25+
println("Librarian: BCV is only configured by default if using KGP 2.2+ (currently detected is '$kotlinPluginVersion'). Set bcv.warn=false in your librarian.root.properties file to remove this warning.")
26+
}
27+
}
1628
}
17-
tasks.named("build") {
18-
it.dependsOn("checkLegacyAbi")
19-
}
29+
}
30+
31+
fun Project.configureBcv(block: AbiValidationExtension.() -> Unit = {}) {
32+
configureBcv(null, block)
2033
}

librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ fun Project.librarianModule(block: AbiValidationExtension.() -> Unit = {}) {
8080
val rootProperties = rootProperties()
8181
val moduleProperties = moduleProperties()
8282

83-
configureBcv(block)
83+
configureBcv(rootProperties, block)
8484

8585
rootProperties.javaCompatibility()?.let {
8686
configureJavaCompatibility(it)

0 commit comments

Comments
 (0)