Skip to content

Update build and test infrastructure to current stable releases - #397

Open
rossbacher wants to merge 2 commits into
masterfrom
rossi-update-build-test-infrastructure
Open

rossbacher wants to merge 2 commits into
masterfrom
rossi-update-build-test-infrastructure

Conversation

@rossbacher

@rossbacher rossbacher commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Updates the build, publishing, lint, CI, and test infrastructure to current stable releases while preserving app dependencies and the existing minimum and target Android SDK levels.

  • Upgrade AGP to 9.4.1, Gradle to 9.8.0, Kotlin to 2.4.20, the build JDK to 25 LTS, and compile SDK to 37.2 with Build Tools 37.0.0. Regenerate and checksum the Gradle wrapper.
  • Update KSP, XProcessing, Kotlin metadata/compiler testing, Maven publishing, Dokka, Kotlinter, Checkstyle, Robolectric, MockK, AssertJ, Benchmark, test-only AndroidX stubs, and GitHub Actions. Replace checked-in beta test JARs with Maven-resolved artifacts.
  • Migrate Android modules to built-in Kotlin and the kapt sample to AGP's legacy-kapt plugin. Align both Gradle plugin build paths and their functional tests with the current toolchain, fix task validation/dependencies, and apply formatting required by the updated linter.
  • Run Robolectric on the unchanged sample target SDK (35), and compile instrumentation/benchmark APKs in CI.

Validation

  • Full local build: ./gradlew assemble assembleAndroidTest check javadoc lintKotlin.
  • 375 unit and Gradle functional tests; instrumentation APK compilation, lint, and documentation checks.
  • Publishing and documentation generation verified against an isolated local Maven repository.
  • Generated sample APK retains min SDK 21 and target SDK 35; the runtime library retains min SDK 16.

Review

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.

1 participant