import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.jetbrainsKotlinAndroid) } android { namespace 'com.vitorpamplona.quartz' compileSdk libs.versions.android.compileSdk.get().toInteger() defaultConfig { minSdk libs.versions.android.minSdk.get().toInteger() targetSdk libs.versions.android.targetSdk.get().toInteger() testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } create("benchmark") { initWith(getByName("release")) signingConfig signingConfigs.debug } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } packagingOptions { resources { excludes += ['**/libscrypt.dylib'] } } } kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_17 freeCompilerArgs.add("-Xstring-concat=inline") } } dependencies { implementation libs.androidx.core.ktx implementation platform(libs.androidx.compose.bom) // @Immutable and @Stable implementation libs.androidx.runtime.runtime // Bitcoin secp256k1 bindings to Android api libs.secp256k1.kmp.jni.android // LibSodium for ChaCha encryption (NIP-44) // Wait for @aar support in version catalogs implementation "com.goterl:lazysodium-android:5.1.0@aar" implementation 'net.java.dev.jna:jna:5.14.0@aar' // Performant Parser of JSONs into Events api libs.jackson.module.kotlin // immutable collections to avoid recomposition api libs.kotlinx.collections.immutable // Parses URLs from Text: api libs.url.detector // Parses URLs from Text: api libs.rfc3986.normalizer testImplementation libs.junit androidTestImplementation platform(libs.androidx.compose.bom) androidTestImplementation libs.androidx.junit androidTestImplementation libs.androidx.espresso.core }