forked from StepicOrg/stepik-android
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
203 lines (169 loc) · 6.06 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
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply from: '../code_quality_tools/jacoco.gradle'
apply from: '../code_quality_tools/findbugs.gradle'
apply from: '../code_quality_tools/checkstyle.gradle'
apply from: '../code_quality_tools/pmd.gradle'
android {
compileSdkVersion versions.compileSdk
buildToolsVersion versions.buildTools
defaultConfig {
applicationId "org.stepic.droid"
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
versionCode versions.code
versionName versions.name
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
signingConfigs {
debug {
storeFile file(debugKeystore)
storePassword debugKeystorePass
keyAlias debugAlias
keyPassword debugAliasPass
}
release {
storeFile file(keystore)
storePassword keystorePass
keyAlias alias
keyPassword aliasPass
}
oldRelease {
storeFile file(keystore)
storePassword keystorePass
keyAlias oldAlias
keyPassword oldAliasPass
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
testOptions {
unitTests.returnDefaultValues = true
}
lintOptions {
warningsAsErrors false // after fixing existing errors set to true for fixing warnings
abortOnError false // after fixing existing errors set to true for failing fast
lintConfig rootProject.file('lint.xml')
htmlOutput rootProject.file("reports/lint/lint.html")
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
debug {
minifyEnabled true
useProguard true
signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro', 'proguard-rules-dev.pro'
versionNameSuffix "DEV"
testCoverageEnabled = false
}
//the apk of this type is signed by old prod keys
//it makes apk testable (sign in, smart lock, etc are worked).
//now new sign configs are used for providing to Google Play
//assemble with oldProd on release/* branches
oldRelease {
initWith release
signingConfig signingConfigs.oldRelease
matchingFallbacks = ['release']
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
kapt {
generateStubs = true
}
dependencies {
implementation project(':androidsvg')
implementation libraries.kotlinStd
//<DI>
implementation libraries.dagger
kapt libraries.daggerCompiler
implementation libraries.butterKnife
kapt libraries.butterKnifeCompiler
//</DI>
implementation libraries.rxAndroid
implementation libraries.rxJava2
implementation libraries.rxKotlin
implementation libraries.supportAppCompat
implementation libraries.supportDesign
implementation libraries.supportRecyclerView
implementation libraries.supportCardView
implementation libraries.constraintLayout
implementation libraries.exoPlayer
implementation libraries.gson
implementation libraries.retrofit
implementation libraries.retrofitGsonConverter
implementation libraries.retrofitRxJavaAdapter
implementation libraries.jsoup
debugImplementation libraries.stetho
debugImplementation libraries.stethoOkHttp
implementation libraries.glide
implementation libraries.amplitude
implementation libraries.appMetrica
implementation libraries.calligraphy
implementation libraries.lottie
implementation libraries.firebaseMessaging
implementation libraries.firebaseAppindexing
implementation libraries.googleauth
implementation libraries.firebaseCore
implementation libraries.firebaseConfig
implementation libraries.facebookSdk
implementation libraries.vkSdk
implementation libraries.timber
implementation libraries.materialDialog
implementation libraries.numberPicker
implementation (libraries.datePicker) {
exclude group: 'com.android.support'
}
implementation libraries.photoView
implementation libraries.advancedRecycler
implementation libraries.recyclerAnimators
implementation libraries.materialProgress
implementation libraries.circleImageView
implementation libraries.ahbottomnavigation
implementation libraries.circleIndicator
implementation libraries.confetti
implementation libraries.MPAndroidChart
implementation libraries.shortcutBadger
debugImplementation libraries.leakCanary
releaseImplementation libraries.leakCanaryNoOp
oldReleaseImplementation libraries.leakCanaryNoOp
implementation(libraries.crashlytics) {
transitive = true
}
testImplementation libraries.junit
testImplementation libraries.robolectric
testImplementation libraries.mockitoCore
testImplementation libraries.jodaTime
testImplementation libraries.hamcrest
androidTestImplementation(libraries.supportTestRunner) {
exclude group: 'com.android.support'
}
androidTestImplementation libraries.supportTestRules
androidTestImplementation(libraries.espressoCore) {
exclude group: 'com.android.support'
}
androidTestImplementation(libraries.espressoContrib) {
exclude group: 'com.android.support'
}
androidTestImplementation(libraries.espressoIntents) {
exclude group: 'com.android.support'
}
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.getkeepsafe.dexcount'