--- a/buildSrc/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/buildSrc/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -54,8 +54,16 @@
     gradlePluginPortal()
 }
 
+// see https://github.com/gradle/gradle/issues/17963
+fun Provider<PluginDependency>.gav(): String {
+    val t = get()
+    val id = t.pluginId
+    val version = t.version
+    return "$id:$id.gradle.plugin:$version"
+}
+
 dependencies {
-    implementation("com.android.tools.build:gradle:8.0.0")
+    implementation(libs.plugins.com.android.application.gav())
     implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20")
     implementation("gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:0.16.1")
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildSrc/settings.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -0,0 +1,34 @@
+/*
+ * AboutOss is an utility library to retrieve and display
+ * opensource licenses in Android applications.
+ *
+ * Copyright (C) 2023 by Frederic-Charles Barthelery.
+ *
+ * This file is part of AboutOss.
+ *
+ * AboutOss is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AboutOss is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with AboutOss.  If not, see <http://www.gnu.org/licenses/>.
+ */
+dependencyResolutionManagement {
+    repositories {
+        gradlePluginPortal()
+        mavenCentral()
+        google()
+    }
+
+    versionCatalogs {
+        create("libs") {
+            from(files("../gradle/libs.versions.toml"))
+        }
+    }
+}
\ No newline at end of file
--- a/buildSrc/src/main/kotlin/AndroidJavaVersion.kt	Wed Mar 12 18:32:25 2025 -0400
+++ b/buildSrc/src/main/kotlin/AndroidJavaVersion.kt	Wed Mar 12 18:42:28 2025 -0400
@@ -35,10 +35,10 @@
  */
 @Suppress("UNCHECKED_CAST")
 fun BaseExtension.configureJavaVersion() {
-    (this as CommonExtension<*, *, DefaultConfig, *>).configureJavaVersion()
+    (this as CommonExtension<*, *, DefaultConfig, *, *, *>).configureJavaVersion()
 }
 
-fun CommonExtension<*, *, DefaultConfig, *>.configureJavaVersion() {
+fun CommonExtension<*, *, DefaultConfig, *, *, *>.configureJavaVersion() {
     val api = defaultConfig.minSdk ?: 1
     val version = when {
         api >= 30 -> JavaVersion.VERSION_11
--- a/buildSrc/src/main/kotlin/AndroidTests.kt	Wed Mar 12 18:32:25 2025 -0400
+++ b/buildSrc/src/main/kotlin/AndroidTests.kt	Wed Mar 12 18:42:28 2025 -0400
@@ -41,7 +41,7 @@
 const val androidxTestCoreVersion = "1.4.0"
 const val robolectricVersion = "4.8.2"
 
-private typealias BaseExtension = CommonExtension<*, *, DefaultConfig, *>
+private typealias BaseExtension = CommonExtension<*, *, DefaultConfig, *, *, *>
 
 /*
  * Configuration for espresso and robolectric usage in an Android project
--- a/core/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/core/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -31,7 +31,7 @@
 
 android {
     namespace = "com.geekorum.aboutoss.core"
-    compileSdk = 33
+    compileSdk = 35
 
     defaultConfig {
         minSdk = 24
--- a/gradle/libs.versions.toml	Wed Mar 12 18:32:25 2025 -0400
+++ b/gradle/libs.versions.toml	Wed Mar 12 18:42:28 2025 -0400
@@ -19,8 +19,8 @@
 # along with AboutOss.  If not, see <http://www.gnu.org/licenses/>.
 
 [versions]
-com-android-application = "8.0.0"
-com-android-library = "8.0.0"
+com-android-application = "8.9.0"
+com-android-library = "8.9.0"
 org-jetbrains-kotlin-android = "1.8.20"
 junit = "4.13.2"
 androidx-test-ext-junit = "1.1.5"
--- a/sample/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/sample/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -36,7 +36,7 @@
 
 android {
     namespace = "com.geekorum.aboutoss.sampleapp"
-    compileSdk = 33
+    compileSdk = 35
 
     defaultConfig {
         applicationId = "com.geekorum.aboutoss.sampleapp"
--- a/ui/common/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/ui/common/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -31,7 +31,7 @@
 
 android {
     namespace = "com.geekorum.aboutoss.ui.common"
-    compileSdk = 33
+    compileSdk = 35
 
     defaultConfig {
         minSdk = 24
--- a/ui/material2/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/ui/material2/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -31,7 +31,7 @@
 
 android {
     namespace = "com.geekorum.aboutoss.ui.material"
-    compileSdk = 33
+    compileSdk = 35
 
     defaultConfig {
         minSdk = 24
--- a/ui/material3/build.gradle.kts	Wed Mar 12 18:32:25 2025 -0400
+++ b/ui/material3/build.gradle.kts	Wed Mar 12 18:42:28 2025 -0400
@@ -31,7 +31,7 @@
 
 android {
     namespace = "com.geekorum.aboutoss.ui.material3"
-    compileSdk = 33
+    compileSdk = 35
 
     defaultConfig {
         minSdk = 24