prepare v0.21.45 (54)
[mobile-ledger.git] / app / build.gradle
1 /*
2  * Copyright © 2022 Damyan Ivanov.
3  * This file is part of MoLe.
4  * MoLe is free software: you can distribute it and/or modify it
5  * under the term of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your opinion), any later version.
8  *
9  * MoLe is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License terms for details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with MoLe. If not, see <https://www.gnu.org/licenses/>.
16  */
17
18 apply plugin: 'com.android.application'
19
20 android {
21     compileSdkVersion 31
22     defaultConfig {
23         applicationId "net.ktnx.mobileledger"
24         minSdkVersion 22
25         targetSdkVersion 31
26         vectorDrawables.useSupportLibrary true
27         versionCode 54
28         versionName '0.21.5'
29         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
30         javaCompileOptions {
31             annotationProcessorOptions {
32                 arguments += [
33                         "room.schemaLocation"  : "$projectDir/schemas".toString(),
34                         "room.incremental"     : "true",
35                         "room.expandProjection": "true"
36                 ]
37             }
38         }
39     }
40     buildTypes {
41         release {
42             minifyEnabled false
43             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
44         }
45         debug {
46             versionNameSuffix '-debug'
47             applicationIdSuffix '.debug'
48         }
49         pre {
50             applicationIdSuffix '.pre'
51             versionNameSuffix '-pre'
52             minifyEnabled false
53             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
54         }
55     }
56     sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } }
57     compileOptions {
58         sourceCompatibility JavaVersion.VERSION_1_8
59         targetCompatibility JavaVersion.VERSION_1_8
60     }
61     productFlavors {
62     }
63     buildFeatures.viewBinding = true
64     buildToolsVersion '30.0.3'
65 }
66
67 dependencies {
68     implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.1'
69     implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1'
70     def room_version = '2.4.2'
71     implementation "androidx.room:room-runtime:2.4.2"
72     annotationProcessor "androidx.room:room-compiler:$room_version"
73     def nav_version = '2.4.2'
74     implementation fileTree(include: ['*.jar'], dir: 'libs')
75     implementation 'androidx.legacy:legacy-support-v4:1.0.0'
76     implementation 'com.google.android.material:material:1.5.0'
77     implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
78     implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
79     implementation 'androidx.recyclerview:recyclerview:1.2.1'
80     testImplementation 'junit:junit:4.13.2'
81     androidTestImplementation 'androidx.test:runner:1.5.0-alpha02'
82     androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0-alpha05'
83     implementation 'org.jetbrains:annotations:23.0.0'
84     implementation 'com.fasterxml.jackson.module:jackson-modules-java8:2.13.2'
85     implementation "androidx.navigation:navigation-fragment:$nav_version"
86     implementation "androidx.navigation:navigation-ui:$nav_version"
87     implementation 'androidx.appcompat:appcompat:1.6.0-alpha01'
88 }
89
90 allprojects {
91     gradle.projectsEvaluated {
92         tasks.withType(JavaCompile) {
93             options.compilerArgs <<
94                     "-Xlint:deprecation" <<
95                     "-Xlint:unchecked"
96         }
97     }
98 }