From e042e18f93c70d8d4bdf8568a48e97764ff1a868 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jul 2026 16:25:44 +0800 Subject: [PATCH] Track R8 updates --- build.gradle.kts | 10 ++++++++++ gradle/libs.versions.toml | 2 ++ .../gradle/plugins/shadow/ShadowBasePlugin.kt | 4 +--- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 4cff93e31..387d5e8bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,7 @@ plugins { alias(libs.plugins.mavenPublish) alias(libs.plugins.pluginPublish) alias(libs.plugins.spotless) + alias(libs.plugins.buildConfig) } version = providers.gradleProperty("VERSION_NAME").get() @@ -25,6 +26,15 @@ group = providers.gradleProperty("GROUP").get() description = providers.gradleProperty("POM_DESCRIPTION").get() +buildConfig { + packageName = "com.github.jengelman.gradle.plugins.shadow" + generateAtSync = true + + sourceSets.named("main") { + buildConfigField("DEFAULT_R8_DEPENDENCY", libs.r8.map(Dependency::toString)) + } +} + dokka { dokkaPublications.html { outputDirectory = rootDir.resolve("docs/api") } } kotlin { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8cec53d47..23f1b41ae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,6 +28,7 @@ pluginPublish = { module = "com.gradle.publish:plugin-publish-plugin", version.r androidx-gradlePluginLints = "androidx.lint:lint-gradle:1.0.0" # Dummy to get renovate updates, the version is used in rootProject build.gradle with spotless. ktfmt = "com.facebook:ktfmt:0.64" +r8 = "com.android.tools:r8:9.0.32" junit-bom = "org.junit:junit-bom:6.1.1" assertk = "com.willowtreeapps.assertk:assertk:0.28.1" @@ -39,3 +40,4 @@ jetbrains-dokka = "org.jetbrains.dokka:2.2.0" mavenPublish = "com.vanniktech.maven.publish:0.37.0" pluginPublish = { id = "com.gradle.plugin-publish", version.ref = "pluginPublish" } spotless = "com.diffplug.spotless:8.8.0" +buildConfig = "com.github.gmazzo.buildconfig:6.0.10" diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowBasePlugin.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowBasePlugin.kt index 085752556..cc7ba7a22 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowBasePlugin.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowBasePlugin.kt @@ -1,7 +1,6 @@ package com.github.jengelman.gradle.plugins.shadow -import com.github.jengelman.gradle.plugins.shadow.ShadowBasePlugin.Companion.CONFIGURATION_NAME -import com.github.jengelman.gradle.plugins.shadow.ShadowBasePlugin.Companion.EXTENSION_NAME +import com.github.jengelman.gradle.plugins.shadow.BuildConfig.DEFAULT_R8_DEPENDENCY import org.gradle.api.NamedDomainObjectProvider import org.gradle.api.Plugin import org.gradle.api.Project @@ -54,7 +53,6 @@ public abstract class ShadowBasePlugin : Plugin { public const val EXTENSION_NAME: String = SHADOW public const val CONFIGURATION_NAME: String = SHADOW public const val R8_CONFIGURATION_NAME: String = "shadowR8" - internal const val DEFAULT_R8_DEPENDENCY: String = "com.android.tools:r8:9.1.31" @get:JvmSynthetic public inline val ConfigurationContainer.shadow: NamedDomainObjectProvider