aboutsummaryrefslogtreecommitdiffstats
path: root/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-02 11:09:19 +0100
committerDanilo M. <danix@danix.xyz>2026-11-02 11:09:19 +0100
commit5cb29988d8ebb4c9625af6452f7931d0e68d1cb7 (patch)
treede206444c7c6eca3627c0cd006619770ec253052 /build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt
parent9eec620a4d95c4e3217f0868af0fc7f7bada5c91 (diff)
downloadHardenedPass-5cb29988d8ebb4c9625af6452f7931d0e68d1cb7.tar.gz
HardenedPass-5cb29988d8ebb4c9625af6452f7931d0e68d1cb7.zip
build: update to Gradle 9.8.2, AGP 9.5.0, Kotlin 2.4.21, Hilt 2.60.1
AGP 9 migration: - Configure the shared Android setup through the new DSL (CommonExtension, ApplicationExtension) instead of the removed TestedExtension and BaseAppModuleExtension; targetSdk moves to the application extension. - Stop applying the Kotlin Android plugin; AGP 9 compiles Kotlin itself. - Replace kapt with KSP 2.3.13 for Hilt, which built-in Kotlin requires, and carry the Dagger compiler options over as KSP arguments. - AGP 9 now applies packaging excludes to unit-test resources, which stripped the diceware word list (**/*.txt) from its tests; lift that exclude in the diceware module. - Use resources.directories instead of the deprecated srcDir. Plugin updates required by Gradle 9 / AGP 9: Sentry Gradle plugin 6.25.0 (sentry-android 8.62.0), metalava plugin 0.5.1, maven-publish 0.37.0, spotless 8.10.4, version-catalog-update 1.1.2, download task 5.7.0, foojay resolver 1.0.0, with their API changes. Newer metalava models Kotlin properties, so autofill-parser/api.txt is regenerated; the diff is representation only, no API was added or removed. Fix new Kotlin 2.4 and lint findings (explicit return type in a function with an early return, UseKtx in autofill-parser), drop deprecated Kotlin Gradle properties, and make the AGENTS.md pre-commit command cover every task CI runs (both flavors, lint on all modules). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt')
-rw-r--r--build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt7
1 files changed, 2 insertions, 5 deletions
diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt
index 67fef255..d679abd3 100644
--- a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt
+++ b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinAndroidPlugin.kt
@@ -11,16 +11,13 @@ import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
-import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper
@Suppress("Unused")
class KotlinAndroidPlugin : Plugin<Project> {
override fun apply(project: Project) {
- project.pluginManager.run {
- apply(KotlinAndroidPluginWrapper::class)
- apply(KotlinCommonPlugin::class)
- }
+ // AGP 9 compiles Kotlin itself (built-in Kotlin); only the shared compiler options remain.
+ project.pluginManager.apply(KotlinCommonPlugin::class)
project.extensions.getByType<KotlinProjectExtension>().jvmToolchain(JVM_TOOLCHAIN_ACTION)
}
}