blob: 77165e8b7ce583d49899805719e1f1949ea48b53 (
plain)
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
import kau.Dependencies
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.github.triplet.play'
play {
serviceAccountCredentials = file('../files/gplay-keys.json')
track = 'beta'
}
android {
compileSdkVersion kau.Versions.targetSdk
buildToolsVersion kau.Versions.buildTools
androidGitVersion {
codeFormat = 'MMNNPPXX'
format = '%tag%%.count%%-commit%'
}
defaultConfig {
applicationId "ca.allanwang.kau.sample"
minSdkVersion kau.Versions.minSdk
targetSdkVersion kau.Versions.targetSdk
versionName androidGitVersion.name()
versionCode androidGitVersion.code()
multiDexEnabled true
testInstrumentationRunner "ca.allanwang.kau.sample.SampleTestRunner"
}
viewBinding {
enabled = true
}
def releaseSigning = file("../files/kau.properties")
def hasSigning = releaseSigning.exists()
signingConfigs {
if (hasSigning) {
def releaseProps = new Properties()
releaseSigning.withInputStream { releaseProps.load(it) }
release {
storeFile file("../files/kau.keystore")
storePassword releaseProps.getProperty('storePassword')
keyAlias releaseProps.getProperty('keyAlias')
keyPassword releaseProps.getProperty('keyPassword')
}
}
debug {
storeFile file("../files/debug.keystore")
storePassword "debugKey"
keyAlias "debugKey"
keyPassword "debugKey"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
signingConfig signingConfigs.debug
resValue "string", "app_name", "KAU Debug"
}
release {
minifyEnabled true
if (hasSigning) signingConfig signingConfigs.release
resValue "string", "app_name", "KAU"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
packagingOptions {
pickFirst 'META-INF/core_release.kotlin_module'
pickFirst 'META-INF/library_release.kotlin_module'
pickFirst 'META-INF/library-core_release.kotlin_module'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
androidTest.java.srcDirs += 'src/androidTest/kotlin'
main.res.srcDirs += 'src/main/res-public'
}
testOptions.unitTests {
// Don't throw runtime exceptions for android calls that are not mocked
returnDefaultValues = true
// Always show the result of every unit test, even if it passes.
all {
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
}
}
}
// See https://github.com/facebook/flipper/issues/146
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "com.android.support") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "26.+"
}
}
}
}
}
dependencies {
implementation project(':about')
implementation project(':fastadapter')
implementation project(':fastadapter-viewbinding')
implementation project(':colorpicker')
implementation project(':core')
implementation project(':core-ui')
implementation project(':kpref-activity')
implementation project(':searchview')
implementation project(':mediapicker')
implementation Dependencies.materialDialog("input")
implementation Dependencies.koin
testImplementation Dependencies.kotlinTest
testImplementation Dependencies.junit
testImplementation Dependencies.koinTest
androidTestImplementation Dependencies.kotlinTest
androidTestImplementation Dependencies.espresso
androidTestImplementation Dependencies.espresso("intents")
androidTestImplementation Dependencies.espresso("contrib")
androidTestImplementation Dependencies.testRules
androidTestImplementation Dependencies.testRunner
androidTestImplementation Dependencies.koinTest
}
|