taler-android

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

build.gradle (3023B)


      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.application"
     19     id "kotlin-android"
     20     id "kotlinx-serialization"
     21     id "androidx.navigation.safeargs.kotlin"
     22 }
     23 
     24 android {
     25     namespace 'net.taler.cashier'
     26     compileSdkVersion 36
     27 
     28     defaultConfig {
     29         applicationId "net.taler.cashier"
     30         minSdkVersion 23
     31         targetSdkVersion 36
     32         versionCode 10
     33         versionName "1.1.0"
     34         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     35 
     36         buildConfigField("String", "BACKEND_API_VERSION", "\"9:0:4\"")
     37     }
     38 
     39     buildTypes {
     40         release {
     41             minifyEnabled true
     42             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
     43         }
     44         debug {
     45             minifyEnabled minify_debug
     46             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
     47         }
     48     }
     49 
     50     compileOptions {
     51         sourceCompatibility = JavaVersion.VERSION_17
     52         targetCompatibility = JavaVersion.VERSION_17
     53     }
     54 
     55     kotlinOptions {
     56         jvmTarget = "17"
     57     }
     58 
     59     buildFeatures {
     60         buildConfig = true
     61         viewBinding = true
     62     }
     63     packagingOptions {
     64         resources {
     65             excludes += ['META-INF/*.kotlin_module']
     66         }
     67     }
     68 
     69     lint {
     70         abortOnError true
     71         warning 'WrongConstant'
     72         ignoreWarnings false
     73     }
     74 }
     75 
     76 dependencies {
     77     implementation project(":taler-kotlin-android")
     78     implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
     79     implementation 'androidx.security:security-crypto:1.1.0' // requires minSdk 23
     80     implementation "com.google.android.material:material:$material_version"
     81 
     82     implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
     83     implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
     84 
     85     implementation "io.ktor:ktor-client:$ktor_version"
     86     implementation "io.ktor:ktor-client-okhttp:$ktor_version"
     87     implementation "io.ktor:ktor-client-serialization-jvm:$ktor_version"
     88     implementation "io.ktor:ktor-serialization-kotlinx-json:$ktor_version"
     89     implementation "io.ktor:ktor-client-content-negotiation:$ktor_version"
     90     implementation "io.ktor:ktor-server-call-logging:$ktor_version"
     91 
     92     testImplementation "junit:junit:$junit_version"
     93 }