import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsComposeCompiler) } android { namespace 'com.vitorpamplona.amethyst.commons' 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 } buildFeatures { compose true } } kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_17 freeCompilerArgs.add("-Xstring-concat=inline") } } composeCompiler { reportsDestination = layout.buildDirectory.dir("compose_compiler") } dependencies { implementation project(path: ':quartz') // Import @Immutable and @Stable implementation platform(libs.androidx.compose.bom) implementation libs.androidx.ui implementation libs.androidx.compose.foundation debugImplementation libs.androidx.ui.tooling implementation libs.androidx.ui.tooling.preview // immutable collections to avoid recomposition api libs.kotlinx.collections.immutable testImplementation libs.junit androidTestImplementation platform(libs.androidx.compose.bom) androidTestImplementation libs.androidx.junit androidTestImplementation libs.androidx.espresso.core }