group = "eu.weblibre.flutter_singbox_proxy" version = "1.0-SNAPSHOT" buildscript { repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle:9.2.1") } } allprojects { repositories { google() mavenCentral() } } def weblibreGoMobileAar = file("../../../native/go_mobile_runtime/build/weblibre-go.aar") def requireWebLibreGoMobileAar = { if (!weblibreGoMobileAar.exists()) { throw new GradleException( "Missing combined gomobile runtime AAR: ${weblibreGoMobileAar}. " + "Run native/go_mobile_runtime/scripts/build-android.sh from the repository root." ) } } apply plugin: "com.android.library" android { namespace = "eu.weblibre.flutter_singbox_proxy" compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" } defaultConfig { minSdk = 24 } testOptions { unitTests.all { useJUnitPlatform() testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" outputs.upToDateWhen { false } showStandardStreams = true } } } } kotlin { compilerOptions { jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } dependencies { requireWebLibreGoMobileAar() compileOnly(files(weblibreGoMobileAar)) implementation("com.squareup.okhttp3:okhttp:5.4.0") testImplementation("org.json:json:20260522") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.mockito:mockito-core:5.23.0") }