mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
fix(sdk-android): unblock publishToMavenLocal on JDK 21+ hosts (#9)
* build(sdk-android): bump AGP 8.11.0 → 8.13.0 Required by com.vanniktech.maven.publish 0.36.0, bumped in the following commit to pull a Dokka 2.x that handles JDK 21+ version strings. * build(sdk-android): migrate to vanniktech 0.36 + Dokka v2 javadoc Fixes the `javaDocReleaseGeneration` crash on JDK 21+ hosts (IllegalArgumentException: 25.0.2 in the bundled IntelliJ JavaVersion.parse). Root cause: AGP's JavaDocGenerationTask pulled an old Dokka whose vendored util-lang predated JDK 9+ version strings. Fixed upstream in Dokka 2.1.0 (Kotlin/dokka#4202). Changes in this commit: - Bump vanniktech-maven-publish 0.30.0 → 0.36.0, which drops Dokka v1 support and the SonatypeHost parameter (Central Portal is now the default). - Apply org.jetbrains.dokka and org.jetbrains.dokka-javadoc 2.2.0 so the javadoc jar is generated by Dokka 2.x directly, not AGP's bundled-Dokka path. - Switch AndroidSingleVariantLibrary to the explicit JavadocJar.Dokka("dokkaGeneratePublicationJavadoc") form; the old `publishJavadocJar = true` boolean now maps to plain javadoc, which still goes through AGP's broken path on Android source sets. - Enable V2Enabled in gradle.properties (required by 0.36+) and silence the transitional opt-in warning. Verified: `make release-android-local` on openjdk 25.0.2 produces aar, sources jar, javadoc jar, pom, and module; `./gradlew :sdk-android:testDebugUnitTest :sidecar:test` still pass.
This commit is contained in:
2 files changed
+14
-6
No files matched your search
@@ -4,6 +4,11 @@ org.gradle.caching=true
|
||||
kotlin.code.style=official
|
||||
android.useAndroidX=true
|
||||
|
||||
# Required by vanniktech-maven-publish 0.36+ (Dokka v1 removed); also
|
||||
# pulls Dokka 2.x, which fixes JavaVersion.parse on JDK 21+ hosts.
|
||||
org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
|
||||
org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true
|
||||
|
||||
# Single source of truth at release time is the git tag (e.g. v0.1.0 → 0.1.0),
|
||||
# forwarded via `-Puatu.version=...` or `ORG_GRADLE_PROJECT_uatu.version`.
|
||||
# The default below only applies to untagged local builds.
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
|
||||
import com.vanniktech.maven.publish.SonatypeHost
|
||||
import com.vanniktech.maven.publish.JavadocJar
|
||||
import com.vanniktech.maven.publish.SourcesJar
|
||||
|
||||
plugins {
|
||||
id("com.android.library") version "8.11.0"
|
||||
id("com.android.library") version "8.13.0"
|
||||
kotlin("android") version "2.1.21"
|
||||
id("com.vanniktech.maven.publish") version "0.30.0"
|
||||
id("com.vanniktech.maven.publish") version "0.36.0"
|
||||
id("org.jetbrains.dokka") version "2.2.0"
|
||||
id("org.jetbrains.dokka-javadoc") version "2.2.0"
|
||||
}
|
||||
|
||||
version = findProperty("uatu.version") as String? ?: "0.0.0-dev"
|
||||
@@ -34,7 +37,7 @@ android {
|
||||
}
|
||||
|
||||
mavenPublishing {
|
||||
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL, automaticRelease = true)
|
||||
publishToMavenCentral(automaticRelease = true)
|
||||
|
||||
// Sign only when a release-signing key is provided (env or Gradle
|
||||
// property). Unsigned runs are useful for `publishToMavenLocal` dry-runs;
|
||||
@@ -45,9 +48,9 @@ mavenPublishing {
|
||||
|
||||
configure(
|
||||
AndroidSingleVariantLibrary(
|
||||
javadocJar = JavadocJar.Dokka("dokkaGeneratePublicationJavadoc"),
|
||||
sourcesJar = SourcesJar.Sources(),
|
||||
variant = "release",
|
||||
sourcesJar = true,
|
||||
publishJavadocJar = true,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user