build.gradle (3380B)
1 /* 2 * This file is part of GNU Taler 3 * (C) 2020 Taler Systems S.A. 4 * 5 * GNU Taler is free software; you can redistribute it and/or modify it under the 6 * terms of the GNU General Public License as published by the Free Software 7 * Foundation; either version 3, or (at your option) any later version. 8 * 9 * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY 10 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 * A PARTICULAR PURPOSE. See the GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License along with 14 * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 15 */ 16 17 plugins { 18 id 'com.android.library' 19 id 'kotlin-android' 20 id 'kotlinx-serialization' 21 id "org.jetbrains.kotlin.plugin.compose" version "$kotlin_version" 22 } 23 24 android { 25 namespace 'net.taler.common' 26 compileSdkVersion 36 27 28 defaultConfig { 29 minSdkVersion 21 30 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 31 consumerProguardFiles 'consumer-rules.pro' 32 } 33 34 buildTypes { 35 release { 36 minifyEnabled true 37 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 38 } 39 debug { 40 minifyEnabled minify_debug 41 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 42 } 43 } 44 45 buildFeatures { 46 viewBinding = true 47 compose = true 48 } 49 compileOptions { 50 sourceCompatibility = JavaVersion.VERSION_17 51 targetCompatibility = JavaVersion.VERSION_17 52 } 53 kotlinOptions { 54 jvmTarget = "17" 55 } 56 packagingOptions { 57 resources { 58 excludes += ['META-INF/*.kotlin_module'] 59 } 60 } 61 } 62 63 dependencies { 64 implementation platform('androidx.compose:compose-bom:2026.02.01') 65 implementation 'androidx.compose.material3:material3' 66 implementation 'androidx.compose.ui:ui' 67 implementation 'androidx.compose.foundation:foundation' 68 69 implementation 'androidx.appcompat:appcompat:1.7.1' 70 implementation 'androidx.core:core-ktx:1.17.0' 71 implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version" 72 implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' 73 74 // Navigation 75 implementation "androidx.navigation:navigation-ui-ktx:$nav_version" 76 implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" 77 78 // ViewModel and LiveData 79 implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" 80 81 // QR codes 82 implementation 'com.google.zxing:core:3.5.3' // needs minSdkVersion 24+ or desugar 83 84 // JSON parsing and serialization 85 api 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0' 86 testImplementation "junit:junit:$junit_version" 87 testImplementation 'org.json:json:20250517' 88 89 // Networking 90 api "io.ktor:ktor-client:$ktor_version" 91 api "io.ktor:ktor-client-okhttp:$ktor_version" 92 implementation "io.ktor:ktor-client-serialization-jvm:$ktor_version" 93 implementation "io.ktor:ktor-serialization-kotlinx-json:$ktor_version" 94 implementation "io.ktor:ktor-client-content-negotiation:$ktor_version" 95 implementation("io.ktor:ktor-client-logging:$ktor_version") 96 }