From e803e3b2d33f68f72cb720d01303f1f8544599d0 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:45:38 +0800 Subject: [PATCH 1/7] Correct repositories block for pluginManagement --- settings.gradle | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/settings.gradle b/settings.gradle index b69be549..423fc0f6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,9 +1,7 @@ pluginManagement { - dependencyResolutionManagement { - repositories { - mavenCentral() - gradlePluginPortal() - } + repositories { + mavenCentral() + gradlePluginPortal() } } dependencyResolutionManagement { From f0bbad3775cef69c42ed9b9084051e917459b9e9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:47:38 +0800 Subject: [PATCH 2/7] Tweak flags and enable CC --- gradle.properties | 14 ++++++++++---- settings.gradle | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4a218dd7..ecd60462 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,13 @@ +org.gradle.caching=true +org.gradle.configuration-cache=true +org.gradle.configuration-cache.parallel=true +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx4g +org.gradle.kotlin.dsl.allWarningsAsErrors=true +org.gradle.parallel=true +org.gradle.tooling.parallel=true + +########## Properties for publishing to Maven Central ########## + GROUP=com.jakewharton.diffuse VERSION_NAME=0.4.0-SNAPSHOT @@ -15,10 +25,6 @@ POM_LICENCE_DIST=repo POM_DEVELOPER_ID=jakewharton POM_DEVELOPER_NAME=Jake Wharton -org.gradle.caching=true -org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8 -org.gradle.parallel=true - mavenCentralPublishing=true mavenCentralAutomaticPublishing=true signAllPublications=true diff --git a/settings.gradle b/settings.gradle index 423fc0f6..6ac87e62 100644 --- a/settings.gradle +++ b/settings.gradle @@ -11,6 +11,7 @@ dependencyResolutionManagement { } } +enableFeaturePreview("STABLE_CONFIGURATION_CACHE") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") rootProject.name = 'diffuse-root' From 2920d4cbd5bb0db29fb2f9b82c02c2d9ee52d759 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:48:44 +0800 Subject: [PATCH 3/7] Prefer spdx id for POM_LICENCE_NAME --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ecd60462..ccbbff73 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ POM_SCM_URL=https://github.com/JakeWharton/diffuse/ POM_SCM_CONNECTION=scm:git:git://github.com/JakeWharton/diffuse.git POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/JakeWharton/diffuse.git -POM_LICENCE_NAME=The Apache Software License, Version 2.0 +POM_LICENCE_NAME=Apache-2.0 POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt POM_LICENCE_DIST=repo From f05d3a10985173a973011d1ed460e06d5810e283 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:50:05 +0800 Subject: [PATCH 4/7] Improve target rule for Spotless --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index eb72ecf4..2cc19d60 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ subprojects { spotless { kotlin { ktfmt(libs.ktfmt.get().version).googleStyle() - target('**/*.kt') + target('src/**/*.kt') } } From 3cd4e61722e00bb8a9912de206e2bb5c233882f8 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:52:12 +0800 Subject: [PATCH 5/7] Remove unnecessary configure calls --- diffuse/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/diffuse/build.gradle b/diffuse/build.gradle index 984fb6bc..90cd1797 100644 --- a/diffuse/build.gradle +++ b/diffuse/build.gradle @@ -30,12 +30,12 @@ buildConfig { } // A zip and tar are configured by default. We don't care about tar. -tasks.named('distTar').configure { task -> +tasks.named('distTar') { task -> task.enabled = false } // Build an exploded application directory by default for local testing. -tasks.named('assemble').configure { task -> +tasks.named('assemble') { task -> task.dependsOn(tasks.named('installDist')) } From cbd2199f2219c4647aef3f7781ffb08562baa3ab Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Mar 2026 11:58:33 +0800 Subject: [PATCH 6/7] Remove resolutionStrategy ```diff \--- project :formats +--- com.android.tools.apkparser:binary-resources:32.1.0 - | \--- com.google.guava:guava:33.3.1-jre -> 30.1-jre - | +--- com.google.guava:failureaccess:1.0.1 - | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - | +--- com.google.code.findbugs:jsr305:3.0.2 - | +--- org.checkerframework:checker-qual:3.5.0 - | +--- com.google.errorprone:error_prone_annotations:2.3.4 -> 2.11.0 - | \--- com.google.j2objc:j2objc-annotations:1.3 + | \--- com.google.guava:guava:33.3.1-jre + | +--- com.google.guava:failureaccess:1.0.2 + | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava + | +--- com.google.code.findbugs:jsr305:3.0.2 + | +--- org.checkerframework:checker-qual:3.43.0 + | +--- com.google.errorprone:error_prone_annotations:2.28.0 + | \--- com.google.j2objc:j2objc-annotations:3.0.0 \--- com.android.tools.build:bundletool:1.18.3 - +--- com.google.errorprone:error_prone_annotations:2.3.1 -> 2.11.0 + +--- com.google.errorprone:error_prone_annotations:2.3.1 -> 2.28.0 - +--- com.google.guava:guava:32.0.1-jre -> 30.1-jre (*) + +--- com.google.guava:guava:32.0.1-jre -> 33.3.1-jre (*) \--- com.google.protobuf:protobuf-java-util:3.22.3 - +--- com.google.errorprone:error_prone_annotations:2.11.0 + +--- com.google.errorprone:error_prone_annotations:2.11.0 -> 2.28.0 - +--- com.google.guava:guava:31.1-jre -> 30.1-jre (*) + +--- com.google.guava:guava:31.1-jre -> 33.3.1-jre (*) - \--- com.google.j2objc:j2objc-annotations:1.3 + \--- com.google.j2objc:j2objc-annotations:1.3 -> 3.0.0 ``` --- build.gradle | 17 ----------------- gradle/libs.versions.toml | 8 ++------ 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index 2cc19d60..d9b0c64b 100644 --- a/build.gradle +++ b/build.gradle @@ -48,21 +48,4 @@ subprojects { tasks.withType(JavaCompile).configureEach { options.release = 11 } - - configurations.configureEach { - resolutionStrategy.eachDependency { - if (requested.group == "com.android.tools.build" && requested.name == "aapt2-proto") { - useVersion(libs.versions.aapt2Proto.get()) - because("We need to keep depenedencies in sync with bundletool") - } - if (requested.group == "com.google.protobuf" && requested.name == "protobuf-java") { - useVersion(libs.versions.protobufJava.get()) - because("We need to keep depenedencies in sync with bundletool") - } - if (requested.group == "com.google.guava" && requested.name == "guava") { - useVersion(libs.versions.guava.get()) - because("We need to keep depenedencies in sync with bundletool") - } - } - } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2fe780f9..5cd5dcb6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,12 @@ [versions] -# Keep this values in sync with bundletool"s dependencies. -aapt2Proto = "9.1.0-14792394" -protobufJava = "4.34.1" -guava = "30.1-jre" [libraries] dalvikDx = "com.jakewharton.android.repackaged:dalvik-dx:16.0.1" binaryResources = "com.android.tools.apkparser:binary-resources:32.1.0" apkSigner = "com.android.tools.build:apksig:9.1.0" bundleTool = "com.android.tools.build:bundletool:1.18.3" -aapt2Proto = { module = "com.android.tools.build:aapt2-proto", version.ref = "aapt2Proto" } -protobufJava = { module = "com.google.protobuf:protobuf-java", version.ref = "protobufJava" } +aapt2Proto = "com.android.tools.build:aapt2-proto:9.1.0-14792394" +protobufJava = "com.google.protobuf:protobuf-java:4.34.1" clikt = "com.github.ajalt.clikt:clikt:5.1.0" junit = "junit:junit:4.13.2" assertk = "com.willowtreeapps.assertk:assertk:0.28.1" From a8f47e2b5a77d35d7786a38685fb68d581d6825c Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 31 Mar 2026 09:52:28 +0800 Subject: [PATCH 7/7] Enable allWarningsAsErrors --- build.gradle | 1 + .../main/kotlin/com/jakewharton/diffuse/format/ApiMapping.kt | 2 +- formats/src/main/kotlin/com/jakewharton/diffuse/format/Dex.kt | 1 + gradle.properties | 1 - 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index d9b0c64b..a067e856 100644 --- a/build.gradle +++ b/build.gradle @@ -35,6 +35,7 @@ subprojects { } } compilerOptions { + allWarningsAsErrors = true jvmTarget = JvmTarget.JVM_11 freeCompilerArgs = [ "-progressive", diff --git a/formats/src/main/kotlin/com/jakewharton/diffuse/format/ApiMapping.kt b/formats/src/main/kotlin/com/jakewharton/diffuse/format/ApiMapping.kt index bf2a76b1..656abac8 100644 --- a/formats/src/main/kotlin/com/jakewharton/diffuse/format/ApiMapping.kt +++ b/formats/src/main/kotlin/com/jakewharton/diffuse/format/ApiMapping.kt @@ -134,7 +134,7 @@ class ApiMapping private constructor(private val typeMappings: Map