import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.androidBenchmark) } android { namespace = "com.vitorpamplona.amethyst.benchmark" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() // Enable measuring on an emulator, or devices with low battery testInstrumentationRunner = "androidx.benchmark.junit4.AndroidBenchmarkRunner" testInstrumentationRunnerArguments["androidx.benchmark.suppressErrors"] = "EMULATOR,LOW-BATTERY" } testOptions { targetSdk = libs.versions.android.targetSdk.get().toInt() } compileOptions { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 } sourceSets { getByName("androidTest") { resources.directories.add(file("../quartz/src/androidDeviceTest/resources").path) } } testBuildType = "benchmark" buildTypes { getByName("debug") { // Since debuggable can"t be modified by gradle for library modules, // it must be done in a manifest - see src/androidTest/AndroidManifest.xml isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "benchmark-proguard-rules.pro") } getByName("release") { isDefault = false isMinifyEnabled = true } create("benchmark") { isDefault = true initWith(getByName("release")) signingConfig = signingConfigs.getByName("debug") } } } kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_21) } } dependencies { implementation(libs.androidx.core.ktx) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.runner) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.junit) androidTestImplementation(libs.androidx.benchmark.junit4) androidTestImplementation(project(":quartz")) androidTestImplementation(project(":commons")) // Custom C secp256k1 (libschnorr256k1) for the 3-way Android benchmark androidTestImplementation(libs.schnorr256k1.kmp) androidTestImplementation(libs.androidx.compose.foundation) // Add your dependencies here. Note that you cannot benchmark code // in an app module this way - you will need to move any code you // want to benchmark to a library module: // https://developer.android.com/studio/projects/android-library#Convert }