Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AppDimens library version — all published artifacts share this.
appdimens.version=3.1.9
appdimens.version=3.1.9.1

# Memory and JVM
# -Xmx8g: a full `assemble` runs R8 (minifyReleaseWithR8) for every release
Expand Down
2 changes: 1 addition & 1 deletion gradle/appdimens-missing-module-check.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import java.util.regex.Pattern

val appDimensVersion: String =
providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()

val strategyArtifacts = mapOf(
"auto" to "appdimens-dynamic-auto",
Expand Down
2 changes: 1 addition & 1 deletion library-auto/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-bom/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-density/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-diagonal/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-fill/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-fit/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-fluid/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-interpolated/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-logarithmic/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-percent/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-perimeter/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-power/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-resize/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
2 changes: 1 addition & 1 deletion library-units/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
alias(libs.plugins.vanniktech.maven.publish)
}

val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9").get()
val libraryVersion: String = providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get()
val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("jitpack") == "true"
|| System.getenv("CI") == "true"
Expand Down
9 changes: 8 additions & 1 deletion library/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ val isJitPack = System.getenv("JITPACK") == "true"
|| System.getenv("ci") == "true"

mavenPublishing {
coordinates("io.github.bodenberg", "appdimens-dynamic", providers.gradleProperty("appdimens.version").orElse("3.1.9").get())
coordinates("io.github.bodenberg", "appdimens-dynamic", providers.gradleProperty("appdimens.version").orElse("3.1.9.1").get())

configure(
AndroidSingleVariantLibrary()
Expand Down Expand Up @@ -184,6 +184,13 @@ kotlin {
}

dependencies {
// Compose BOM is implementation-scoped (Gradle BOMs are version-pinned,
// not "highest-wins"). Consumers can override by declaring their own
// compose-bom: Gradle constraint resolution picks the higher version
// when the consumer's BOM is newer, and falls back to this one when the
// consumer omits a BOM. This makes appdimens-dynamic 3.1.9.1 work with
// any Compose version the dev chooses, while still letting the library
// module build standalone (R8 / release AAR) without a consumer app.
Comment on lines +187 to +193

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Stop exporting the build BOM to older consumers

When a consumer declares a Compose BOM older than 2026.06.01, this implementation(platform(...)) dependency is still published on the library's runtime variant, and Gradle's conflict resolution selects the newer competing BOM. Consequently this release still upgrades older consumers to the library's BOM rather than supporting “any Compose version”; the added R8 suppressions do not change dependency resolution. The build BOM must be kept off published consumer variants, or the supported minimum Compose version must be declared instead.

Useful? React with 👍 / 👎.

implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.runtime)
Expand Down
22 changes: 21 additions & 1 deletion library/consumer-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,24 @@
-dontnote kotlin.**
-dontnote kotlinx.**
-dontwarn sun.misc.**
-dontnote sun.misc.**
-dontnote sun.misc.**


################################################################################
# 7. COMPOSE VERSION INDEPENDENCE (3.1.9.1)
#
# When the consumer's compose-bom is different from the BOM the AAR was
# compiled against (2026.06.01), R8 prints "Missing class" notes for
# Compose internals that the consumer's older / newer Compose exposes
# under different names. The library only ever references Compose's
# stable public API (Density, Dp, CompositionLocal, @Composable, Modifier),
# so these notes are never real problems — silence them to keep the
# consumer's R8 output clean and avoid the appearance of a real error.
################################################################################

-dontnote androidx.compose.runtime.**
-dontnote androidx.compose.ui.**
-dontnote androidx.compose.foundation.**
-dontnote androidx.compose.animation.**
-dontwarn androidx.compose.runtime.**
-dontwarn androidx.compose.ui.**
Comment on lines +131 to +132

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Do not hide unresolved Compose classes from R8

When a consumer actually resolves a Compose version lacking a referenced runtime or UI class—the exact mismatch this change targets—these consumer rules are merged into the entire app's release R8 invocation. -dontwarn only suppresses the missing-class diagnostic; it neither supplies nor adapts the referenced class, and these wildcards also cover references from the app and other libraries. The minified build can therefore succeed and ship an unresolved reference that fails at runtime instead of exposing the incompatibility.

Useful? React with 👍 / 👎.

Loading