Skip to content

build(deps): update AGP to 9.3.2, Gradle to 9.5.1, Places SDK to 5.3.0, and Compose BOM - #117

Open
dkhawk wants to merge 1 commit into
test/library-coverage-baselinefrom
build/dependency-modernization
Open

build(deps): update AGP to 9.3.2, Gradle to 9.5.1, Places SDK to 5.3.0, and Compose BOM#117
dkhawk wants to merge 1 commit into
test/library-coverage-baselinefrom
build/dependency-modernization

Conversation

@dkhawk

@dkhawk dkhawk commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR modernizes dependencies and build configurations for Android Places Compose:

  • Android Gradle Plugin (AGP): 9.2.0 -> 9.3.2
  • Gradle Wrapper: 9.5.0 -> 9.5.1
  • Google Places SDK: 5.2.0 -> 5.3.0
  • Google Maps Compose: 8.3.0 -> 8.5.0
  • Google Maps Utils KTX: 6.0.1 -> 6.3.0
  • Compose BOM: 2026.04.01 -> 2026.08.00
  • Kotlin / KSP: 2.3.21 / 2.3.11
  • Dagger / Hilt: 2.59.2 -> 2.60.1
  • Lifecycle (Runtime & ViewModel): 2.10.0 -> 2.11.0
  • Navigation Compose: 2.9.8 -> 2.10.0
  • Material Components: 1.13.0 -> 1.14.0
  • Compose UI Test & Tooling: 1.11.0 -> 1.12.0
  • Gradle Maven Publish Plugin: 0.36.0 -> 0.37.0

All changes are fully validated against the 93.8% unit & Compose UI test suite established in PR #116.


📚 Stacked PR Chain

# PR Description Base Status
1 #115 ci/workflow-security-hardening (Workflow permissions & action pinning) main ✅ CI Passing
2 #116 test/library-coverage-baseline (Test suite reaching 93.8% coverage) #115 ✅ CI Passing
3 👉 #117 build/dependency-modernization (AGP 9.3.2, Gradle 9.5.1, Places 5.3.0) #116 ✅ CI Passing
4 #119 feat/places-usage-attribution (Usage attribution & remove :library) #117 ✅ CI Passing
5 #118 demo/ux-edge-to-edge-polish (Demo UX, edge-to-edge, mock location) #119 ✅ CI Passing

Umbrella PR: #109

@googlemaps-bot

Copy link
Copy Markdown
Contributor

Code Coverage

Overall Project 86.47% 🍏

There is no coverage information present for the Files changed

Comment thread build.gradle.kts
alias(libs.plugins.ksp)
id("org.jetbrains.dokka") version "2.1.0"
alias(libs.plugins.ksp) apply false
alias(libs.plugins.dokka) apply false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Great work modernizing the build toolchain and dependencies. I found one small issue during my review, Please correct me if I am wrong. As per my investigation, we will face this issue after moving on Dokka 2.2.0

🚨 Blocking Issue: ./gradlew dokkaGenerate fails with Dokka 2.2.0

In build.gradle.kts, replacing id("org.jetbrains.dokka") version "2.1.0" with alias(libs.plugins.dokka) apply false switches the resolved Dokka version from 2.1.0 to 2.2.0 (dokka = "2.2.0" in libs.versions.toml).

Because this project currently uses android.builtInKotlin=false alongside com.android.library and org.jetbrains.kotlin.android, Dokka 2.2.0 registers both the androidJvm source set and the Android release source set pointing to src/main/java. Running ./gradlew dokkaGenerate (used by .github/workflows/docs.yml on release and Maven Javadoc JAR publishing) fails with:

Execution failed for task ':places-compose:dokkaGeneratePublicationHtml'
Pre-generation validity check failed: Source sets 'androidJvm' and 'release' have the common source roots... Every Kotlin source file should belong to only one source set (module).

Suggested Fix

Please add configureDokka() in build-logic/convention/src/main/kotlin/PublishingConventionPlugin.kt to suppress non-androidJvm duplicate source sets:

    override fun apply(project: Project) {
        project.run {
            applyPlugins()
            configureDokka()
            configureJacoco()
            configureVanniktechPublishing()
        }
    }

    private fun Project.configureDokka() {
        extensions.configure<org.jetbrains.dokka.gradle.DokkaExtension> {
            dokkaSourceSets.configureEach {
                suppress.set(name != "androidJvm")
            }
        }
    }

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Added configureDokka() to PublishingConventionPlugin.kt suppressing non-androidJvm source sets as suggested. Verified that ./gradlew dokkaGenerate now succeeds cleanly without issues. Thanks for catching this and providing the exact solution!

@dkhawk
dkhawk requested a review from a team as a code owner September 9, 2026 20:46
@dkhawk
dkhawk force-pushed the build/dependency-modernization branch from 752f1b4 to 5fbd63c Compare September 9, 2026 21:00
Comment thread gradle/libs.versions.toml
appcompat = "1.7.1"
composeBom = "2026.04.01"
coreKtx = "1.18.0"
agp = "9.3.2"
Comment thread gradle/libs.versions.toml
appcompat = "1.7.1"
composeBom = "2026.04.01"
coreKtx = "1.18.0"
agp = "9.3.2"
Comment thread gradle/libs.versions.toml
appcompat = "1.7.1"
composeBom = "2026.04.01"
coreKtx = "1.18.0"
agp = "9.3.2"
Comment thread gradle/libs.versions.toml
coreKtx = "1.18.0"
agp = "9.3.2"
appcompat = "1.8.0"
composeBom = "2026.08.00"
Comment thread gradle/libs.versions.toml
ksp = "2.3.11"
lifecycleRuntimeKtx = "2.11.0"
lifecycleViewmodelCompose = "2.11.0"
mapsCompose = "8.5.0"
Comment thread gradle/libs.versions.toml
uiTestAndroid = "1.11.0"
uiToolingVersion = "1.11.0"
gradleMavenPublishPlugin = "0.36.0"
uiTestAndroid = "1.12.0"
Comment thread gradle/libs.versions.toml
uiToolingVersion = "1.11.0"
gradleMavenPublishPlugin = "0.36.0"
uiTestAndroid = "1.12.0"
uiToolingVersion = "1.12.0"
Comment thread gradle/libs.versions.toml
uiToolingVersion = "1.11.0"
gradleMavenPublishPlugin = "0.36.0"
uiTestAndroid = "1.12.0"
uiToolingVersion = "1.12.0"
Comment thread gradle/libs.versions.toml
uiToolingVersion = "1.11.0"
gradleMavenPublishPlugin = "0.36.0"
uiTestAndroid = "1.12.0"
uiToolingVersion = "1.12.0"
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip

@LoyalAbbas LoyalAbbas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants