buildscript { repositories { google() mavenCentral() } // Override AGP's bundled KGP to include CVE-2026-53914 remediation. dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.4.21") } configurations.getByName("classpath").resolutionStrategy { activateDependencyLocking() eachDependency { when (requested.group) { "io.netty" -> useVersion("4.1.139.Final") "com.google.protobuf" -> useVersion("3.25.9") "com.google.crypto.tink" -> useVersion("1.15.0") "org.bouncycastle" -> useVersion("1.86") "org.apache.commons" -> if (requested.name == "commons-lang3") useVersion("3.21.0") "org.apache.httpcomponents" -> if (requested.name == "httpclient") useVersion("4.5.14") "org.bitbucket.b_c" -> if (requested.name == "jose4j") useVersion("0.9.6") "org.jdom" -> if (requested.name == "jdom2") useVersion("2.0.6.1") } } } } plugins { id("com.android.application") version "9.4.1" apply false id("org.jetbrains.kotlin.plugin.compose") version "2.4.21" apply false } // WSL mounted Windows volumes may reject Gradle's POSIX file metadata operations. // Opt-in external output root; ordinary developer/CI builds retain standard paths. val outputRoot = providers.environmentVariable("YUVOMI_BUILD_DIR") if (outputRoot.isPresent) { allprojects { layout.buildDirectory.set(file("${outputRoot.get()}/${project.name}")) } }