taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

build.gradle (3052B)


      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 }
     22 
     23 android {
     24     namespace 'net.taler.common'
     25     compileSdkVersion 36
     26 
     27     defaultConfig {
     28         minSdkVersion 21
     29         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     30         consumerProguardFiles 'consumer-rules.pro'
     31     }
     32 
     33     buildTypes {
     34         release {
     35             minifyEnabled true
     36             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
     37         }
     38         debug {
     39             minifyEnabled minify_debug
     40             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
     41         }
     42     }
     43 
     44     buildFeatures {
     45         viewBinding = true
     46     }
     47     compileOptions {
     48         sourceCompatibility = JavaVersion.VERSION_17
     49         targetCompatibility = JavaVersion.VERSION_17
     50     }
     51     kotlinOptions {
     52         jvmTarget = "17"
     53     }
     54     packagingOptions {
     55         resources {
     56             excludes += ['META-INF/*.kotlin_module']
     57         }
     58     }
     59 }
     60 
     61 dependencies {
     62     implementation 'androidx.appcompat:appcompat:1.7.1'
     63     implementation 'androidx.core:core-ktx:1.17.0'
     64     implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
     65     implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
     66 
     67     // Navigation
     68     implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
     69     implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
     70 
     71     // ViewModel and LiveData
     72     implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
     73 
     74     // QR codes
     75     implementation 'com.google.zxing:core:3.5.3'  // needs minSdkVersion 24+ or desugar
     76 
     77     // JSON parsing and serialization
     78     api 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0'
     79     testImplementation "junit:junit:$junit_version"
     80     testImplementation 'org.json:json:20250517'
     81 
     82     // Networking
     83     api "io.ktor:ktor-client:$ktor_version"
     84     api "io.ktor:ktor-client-okhttp:$ktor_version"
     85     implementation "io.ktor:ktor-client-serialization-jvm:$ktor_version"
     86     implementation "io.ktor:ktor-serialization-kotlinx-json:$ktor_version"
     87     implementation "io.ktor:ktor-client-content-negotiation:$ktor_version"
     88     implementation("io.ktor:ktor-client-logging:$ktor_version")
     89 }