plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.jetbrainsKotlinAndroid) } android { namespace 'com.vitorpamplona.quartz' compileSdk 34 defaultConfig { minSdk 26 targetSdk 34 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 } kotlinOptions { jvmTarget = '17' freeCompilerArgs += "-Xstring-concat=inline" } packagingOptions { resources { excludes += ['**/libscrypt.dylib'] } } } 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) { exclude(module: 'byte-buddy') // Workaround https://github.com/FasterXML/jackson-databind/issues/4428 until Jackson 2.17.1 } // immutable collections to avoid recomposition api libs.kotlinx.collections.immutable // Parses URLs from Text: api libs.url.detector testImplementation libs.junit androidTestImplementation platform(libs.androidx.compose.bom) androidTestImplementation libs.androidx.junit androidTestImplementation libs.androidx.espresso.core }