pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } // rustls-platform-verifier's Kotlin runtime component ships as a maven repo // INSIDE the cargo registry checkout (not on Maven Central — upstream #115). // Resolve it through cargo metadata so the version always matches the .so's. fun rustlsPlatformVerifierMavenRepo(): File { val process = ProcessBuilder( "cargo", "metadata", "--format-version", "1", "--filter-platform", "aarch64-linux-android", "--manifest-path", File(rootDir, "../rust/link-android/Cargo.toml").path, ).redirectErrorStream(false).start() val metadata = process.inputStream.bufferedReader().readText() check(process.waitFor() == 0) { "cargo metadata failed" } @Suppress("UNCHECKED_CAST") val packages = (groovy.json.JsonSlurper().parseText(metadata) as Map) .getValue("packages") as List> val manifest = packages.first { it["name"] == "rustls-platform-verifier-android" } .getValue("manifest_path") as String return File(File(manifest).parentFile, "maven") } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url = uri(rustlsPlatformVerifierMavenRepo()) metadataSources { mavenPom() } } } } rootProject.name = "spt-mobile-app"