import com.google.protobuf.gradle.* configurations.all { resolutionStrategy { force("com.google.protobuf:protobuf-javalite:${libs.versions.protobuf.get()}") force("com.google.protobuf:protobuf-kotlin-lite:${libs.versions.protobuf.get()}") } } plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) alias(libs.plugins.ksp) alias(libs.plugins.protobuf) } android { namespace = "com.bitcointxoko.gudariwallet" compileSdk { version = release(36) { minorApiLevel = 1 } } defaultConfig { applicationId = "com.bitcointxoko.gudariwallet" minSdk = 26 targetSdk = 36 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } buildFeatures { compose = true buildConfig = true } sourceSets { getByName("main") { proto { srcDir("src/main/proto") } } } } dependencies { implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.ui) testImplementation(libs.junit) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test.junit4) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.junit) debugImplementation(libs.androidx.compose.ui.test.manifest) debugImplementation(libs.androidx.compose.ui.tooling) // Networking implementation(libs.retrofit2.retrofit) implementation(libs.converter.gson) implementation(libs.okhttp) implementation(libs.logging.interceptor) // Coroutines implementation(libs.kotlinx.coroutines.android) // Lifecycle / ViewModel implementation(libs.androidx.lifecycle.viewmodel.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) // DataStore + Proto + Tink implementation(libs.datastore.proto) implementation(libs.protobuf.kotlin.lite) implementation(libs.tink.android) // DataStore implementation(libs.androidx.datastore.preferences) // Room implementation(libs.room.runtime) implementation(libs.room.ktx) ksp(libs.room.compiler) // Biometrics implementation(libs.androidx.biometric) // JSON implementation(libs.gson) // icons implementation(libs.androidx.material.icons.extended) // QR implementation(libs.zxing.android.embedded) //Navigation implementation(libs.androidx.navigation.compose) implementation(libs.androidx.appcompat) // animations implementation(libs.androidx.compose.animation) // secp256k1 dependencies { implementation(libs.secp256k1.kmp.android) } } protobuf { protoc { artifact = libs.protobuf.protoc.get().toString() } generateProtoTasks { all().configureEach { // no "task ->" here builtins { id("java") { option("lite") } id("kotlin") { option("lite") } } } } }