Files
amethyst/quartz/build.gradle
2025-08-18 11:25:57 -04:00

88 lines
2.5 KiB
Groovy

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsKotlinAndroid)
alias(libs.plugins.parcelize)
}
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_21
targetCompatibility JavaVersion.VERSION_21
}
packagingOptions {
resources {
excludes += ['**/libscrypt.dylib']
}
}
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_21
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.2.0@aar'
// implementation 'net.java.dev.jna:jna:5.17.0@aar'
implementation variantOf(libs.lazysodium.android) { artifactType("aar") }
implementation variantOf(libs.jna) { artifactType("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
// Normalizes URLs
api libs.rfc3986.normalizer
// Websockets API
implementation libs.okhttp
testImplementation libs.junit
testImplementation libs.secp256k1.kmp.jni.jvm
androidTestImplementation platform(libs.androidx.compose.bom)
androidTestImplementation libs.androidx.junit
androidTestImplementation libs.androidx.espresso.core
}