-
Notifications
You must be signed in to change notification settings - Fork 38
/
build.gradle
113 lines (96 loc) · 3.26 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
* This file is part of Track & Graph
*
* Track & Graph is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Track & Graph is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Track & Graph. If not, see <https://www.gnu.org/licenses/>.
*/
plugins {
id 'org.jetbrains.kotlin.android'
id 'com.android.library'
id 'com.google.devtools.ksp'
id "dagger.hilt.android.plugin"
}
android {
compileSdk 34
defaultConfig {
minSdk 23
targetSdk 34
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
sourceSets {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
ksp {
arg("room.schemaLocation", "$projectDir/schemas".toString())
}
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debugMinify {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
//Using experimental kotlin co-routines api's
freeCompilerArgs += [
"-opt-in=kotlin.RequiresOptIn",
// The below option is here because of this issue: https://github.com/Kotlin/kotlinx.serialization/issues/2145
"-Xstring-concat=inline"
]
}
namespace 'com.samco.trackandgraph.base'
}
dependencies {
api libs.threetenabp
api libs.core.ktx
//Apparently we need material for the instrumented tests to build. idk why
api libs.material
//Dependency Injection
implementation libs.hilt.android
ksp libs.hilt.compiler
//Database
ksp libs.room.compiler
api libs.room.runtime
api libs.room.ktx
api libs.moshi.kotlin
ksp libs.moshi.kotlin.codegen
//CSV
implementation libs.commons.csv
//Timber
api libs.timber
testImplementation libs.mockito.kotlin
testImplementation libs.kotlinx.coroutines.test
testImplementation libs.junit
androidTestImplementation libs.room.testing
androidTestImplementation libs.runner
androidTestImplementation libs.junit.ktx
androidTestImplementation libs.espresso.core
}