2017-05-30 00:05:26 +02:00
|
|
|
apply plugin: 'com.android.application'
|
2018-11-07 04:46:38 +01:00
|
|
|
apply plugin: 'com.bugsnag.android.gradle'
|
2017-05-30 00:05:26 +02:00
|
|
|
apply plugin: 'kotlin-android'
|
2018-10-09 04:46:26 +02:00
|
|
|
apply plugin: 'kotlin-android-extensions'
|
2017-06-29 19:12:18 +02:00
|
|
|
apply plugin: 'kotlin-kapt'
|
2017-12-31 23:14:26 +01:00
|
|
|
apply plugin: 'com.getkeepsafe.dexcount'
|
2018-04-07 20:41:28 +02:00
|
|
|
apply plugin: 'com.gladed.androidgitversion'
|
2017-07-03 04:55:52 +02:00
|
|
|
|
2018-12-24 07:47:03 +01:00
|
|
|
apply from: '../spotless.gradle'
|
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
android {
|
2018-01-25 06:23:44 +01:00
|
|
|
compileSdkVersion kau.targetSdk
|
|
|
|
buildToolsVersion kau.buildTools
|
2017-05-30 00:05:26 +02:00
|
|
|
|
2017-07-02 20:57:57 +02:00
|
|
|
androidGitVersion {
|
2017-08-15 05:48:39 +02:00
|
|
|
codeFormat = 'MMNNPPXX'
|
2018-10-09 03:11:03 +02:00
|
|
|
format = '%tag%%-count%%-commit%'
|
2017-07-02 20:57:57 +02:00
|
|
|
prefix 'v'
|
|
|
|
}
|
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
defaultConfig {
|
2017-08-15 05:48:39 +02:00
|
|
|
applicationId "${project.APP_GROUP}." + project.APP_ID.toLowerCase(Locale.CANADA)
|
2018-01-25 06:23:44 +01:00
|
|
|
minSdkVersion kau.minSdk
|
|
|
|
targetSdkVersion kau.targetSdk
|
2017-07-02 19:36:38 +02:00
|
|
|
versionCode androidGitVersion.code()
|
|
|
|
versionName androidGitVersion.name()
|
2017-05-30 04:47:52 +02:00
|
|
|
multiDexEnabled true
|
2018-12-24 02:04:08 +01:00
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
2017-05-30 00:05:26 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
applicationVariants.all { variant ->
|
2017-08-04 07:21:51 +02:00
|
|
|
variant.outputs.all {
|
|
|
|
outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk"
|
2017-05-30 00:05:26 +02:00
|
|
|
}
|
|
|
|
}
|
2017-06-02 03:09:43 +02:00
|
|
|
|
2017-07-19 09:28:56 +02:00
|
|
|
lintOptions {
|
|
|
|
warningsAsErrors true
|
2017-08-15 05:48:39 +02:00
|
|
|
disable 'TrustAllX509TrustManager',
|
2017-07-19 09:28:56 +02:00
|
|
|
'UnusedResources',
|
|
|
|
'ContentDescription',
|
2017-11-13 11:09:24 +01:00
|
|
|
'RtlSymmetry',
|
|
|
|
'MissingTranslation'
|
2017-11-09 07:54:12 +01:00
|
|
|
|
|
|
|
xmlReport false
|
|
|
|
textReport true
|
|
|
|
textOutput 'stdout'
|
2017-07-19 09:28:56 +02:00
|
|
|
}
|
|
|
|
|
2018-09-26 20:56:44 +02:00
|
|
|
def testKeystoreFile = file('../files/test.keystore')
|
|
|
|
def testPropFile = file('../files/test.properties')
|
|
|
|
def withTestSigning = testKeystoreFile.exists() && testPropFile.exists()
|
|
|
|
|
|
|
|
def releaseKeystoreFile = file('../files/release.keystore')
|
|
|
|
def releasePropFile = file('../files/release.properties')
|
|
|
|
def withReleaseSigning = releaseKeystoreFile.exists() && releasePropFile.exists()
|
2018-04-09 07:17:21 +02:00
|
|
|
|
2017-06-02 03:09:43 +02:00
|
|
|
signingConfigs {
|
2017-07-03 02:24:17 +02:00
|
|
|
|
2018-02-17 03:51:02 +01:00
|
|
|
debug {
|
|
|
|
storeFile file("../files/debug.keystore")
|
|
|
|
storePassword "debugKey"
|
|
|
|
keyAlias "debugKey"
|
|
|
|
keyPassword "debugKey"
|
|
|
|
}
|
|
|
|
|
2018-09-26 20:56:44 +02:00
|
|
|
if (withTestSigning) {
|
|
|
|
def testProps = new Properties()
|
|
|
|
testPropFile.withInputStream { testProps.load(it) }
|
|
|
|
|
|
|
|
test {
|
|
|
|
storeFile testKeystoreFile
|
|
|
|
storePassword testProps.getProperty('storePassword')
|
|
|
|
keyAlias testProps.getProperty('keyAlias')
|
|
|
|
keyPassword testProps.getProperty('keyPassword')
|
|
|
|
}
|
2017-06-02 03:09:43 +02:00
|
|
|
}
|
2018-04-07 20:41:28 +02:00
|
|
|
|
2018-04-09 07:17:21 +02:00
|
|
|
if (withReleaseSigning) {
|
|
|
|
def releaseProps = new Properties()
|
2018-09-26 20:56:44 +02:00
|
|
|
releasePropFile.withInputStream { releaseProps.load(it) }
|
2018-04-09 07:17:21 +02:00
|
|
|
|
|
|
|
release {
|
2018-09-26 20:56:44 +02:00
|
|
|
storeFile releaseKeystoreFile
|
2018-04-09 07:17:21 +02:00
|
|
|
storePassword releaseProps.getProperty('storePassword')
|
|
|
|
keyAlias releaseProps.getProperty('keyAlias')
|
|
|
|
keyPassword releaseProps.getProperty('keyPassword')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-06-02 03:09:43 +02:00
|
|
|
}
|
|
|
|
|
2019-01-01 00:57:28 +01:00
|
|
|
def compilerArgs = ["-Xuse-experimental=kotlin.Experimental" /*, "-XXLanguage:+InlineClasses"*/]
|
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
buildTypes {
|
2017-06-02 03:09:43 +02:00
|
|
|
debug {
|
2017-06-04 07:24:19 +02:00
|
|
|
minifyEnabled false
|
|
|
|
shrinkResources false
|
2017-06-02 03:09:43 +02:00
|
|
|
applicationIdSuffix ".debug"
|
|
|
|
versionNameSuffix "-debug"
|
2018-02-17 03:51:02 +01:00
|
|
|
signingConfig signingConfigs.debug
|
2017-08-04 07:21:51 +02:00
|
|
|
resValue "string", "frost_name", "Frost Debug"
|
2017-06-21 00:50:08 +02:00
|
|
|
resValue "string", "frost_web", "Frost Web Debug"
|
2018-03-21 06:28:31 +01:00
|
|
|
ext.enableBugsnag = false
|
2018-12-27 08:15:10 +01:00
|
|
|
|
2019-01-01 00:57:28 +01:00
|
|
|
kotlinOptions.freeCompilerArgs += compilerArgs
|
2017-06-02 03:09:43 +02:00
|
|
|
}
|
|
|
|
releaseTest {
|
2017-06-04 08:03:23 +02:00
|
|
|
minifyEnabled true
|
|
|
|
shrinkResources true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
2017-06-02 03:09:43 +02:00
|
|
|
applicationIdSuffix ".test"
|
|
|
|
versionNameSuffix "-test"
|
2018-09-26 20:56:44 +02:00
|
|
|
if (withTestSigning) signingConfig signingConfigs.test
|
2017-08-04 07:21:51 +02:00
|
|
|
resValue "string", "frost_name", "Frost Test"
|
2017-06-21 00:50:08 +02:00
|
|
|
resValue "string", "frost_web", "Frost Web Test"
|
2017-06-02 03:09:43 +02:00
|
|
|
}
|
2017-05-30 00:05:26 +02:00
|
|
|
release {
|
2017-07-01 07:50:58 +02:00
|
|
|
minifyEnabled true
|
|
|
|
shrinkResources true
|
2018-04-09 07:17:21 +02:00
|
|
|
if (withReleaseSigning) signingConfig signingConfigs.release
|
2017-05-30 00:05:26 +02:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
2017-08-04 07:21:51 +02:00
|
|
|
resValue "string", "frost_name", "Frost"
|
2017-06-21 00:50:08 +02:00
|
|
|
resValue "string", "frost_web", "Frost Web"
|
2017-05-30 00:05:26 +02:00
|
|
|
}
|
|
|
|
}
|
2017-06-02 03:09:43 +02:00
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
sourceSets {
|
|
|
|
main.java.srcDirs += 'src/main/kotlin'
|
2017-06-01 02:11:46 +02:00
|
|
|
test.java.srcDirs += 'src/test/kotlin'
|
2017-08-18 23:40:08 +02:00
|
|
|
androidTest.java.srcDirs += 'src/androidTest/kotlin'
|
2017-05-30 00:05:26 +02:00
|
|
|
}
|
2017-06-13 01:51:27 +02:00
|
|
|
|
|
|
|
packagingOptions {
|
|
|
|
pickFirst 'META-INF/library_release.kotlin_module'
|
|
|
|
}
|
2018-11-19 03:28:25 +01:00
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
|
2019-01-01 00:57:28 +01:00
|
|
|
testOptions.unitTests {
|
|
|
|
includeAndroidResources = true
|
|
|
|
// 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', 'standardError'
|
|
|
|
}
|
2018-11-19 03:28:25 +01:00
|
|
|
}
|
|
|
|
}
|
2018-12-27 08:15:10 +01:00
|
|
|
|
2018-12-29 21:10:11 +01:00
|
|
|
androidExtensions {
|
|
|
|
experimental = true
|
|
|
|
}
|
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
}
|
|
|
|
|
2017-06-26 06:11:15 +02:00
|
|
|
repositories {
|
2017-08-04 07:21:51 +02:00
|
|
|
google()
|
2017-06-26 06:11:15 +02:00
|
|
|
jcenter()
|
|
|
|
maven { url "https://jitpack.io" }
|
|
|
|
}
|
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
dependencies {
|
2018-12-24 02:04:08 +01:00
|
|
|
implementation 'androidx.exifinterface:exifinterface:1.0.0'
|
2017-12-22 02:55:51 +01:00
|
|
|
|
2018-01-25 06:23:44 +01:00
|
|
|
androidTestImplementation kauDependency.kotlinTest
|
2018-12-24 02:04:08 +01:00
|
|
|
androidTestImplementation kauDependency.espresso
|
|
|
|
androidTestImplementation kauDependency.testRules
|
|
|
|
androidTestImplementation kauDependency.testRunner
|
|
|
|
|
2018-01-25 06:23:44 +01:00
|
|
|
testImplementation kauDependency.kotlinTest
|
2017-12-26 09:37:32 +01:00
|
|
|
testImplementation "org.jetbrains.kotlin:kotlin-reflect:${KOTLIN}"
|
2018-01-25 06:23:44 +01:00
|
|
|
testImplementation kauDependency.junit
|
2017-08-18 23:40:08 +02:00
|
|
|
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:${KOTLIN}"
|
2017-08-04 07:21:51 +02:00
|
|
|
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:adapter:$KAU"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:about:$KAU"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:colorpicker:$KAU"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:mediapicker:$KAU"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:kpref-activity:$KAU"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
implementation "ca.allanwang.kau:searchview:$KAU"
|
|
|
|
//noinspection GradleDependency
|
2017-08-15 05:48:39 +02:00
|
|
|
implementation "ca.allanwang.kau:core:$KAU"
|
|
|
|
//noinspection GradleDependency
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "ca.allanwang.kau:core-ui:$KAU"
|
|
|
|
|
2018-12-26 04:27:23 +01:00
|
|
|
implementation "androidx.core:core-ktx:${KTX}"
|
|
|
|
|
2018-12-26 04:14:56 +01:00
|
|
|
// implementation "org.koin:koin-android:${KOIN}"
|
|
|
|
// testImplementation "org.koin:koin-test:${KOIN}"
|
|
|
|
// androidTestImplementation "org.koin:koin-test:${KOIN}"
|
|
|
|
|
|
|
|
// androidTestImplementation "io.mockk:mockk:${MOCKK}"
|
|
|
|
|
2018-12-25 22:32:51 +01:00
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:${COROUTINES}"
|
2018-12-21 05:12:41 +01:00
|
|
|
|
2017-08-19 05:25:26 +02:00
|
|
|
implementation "org.apache.commons:commons-text:${COMMONS_TEXT}"
|
|
|
|
|
2017-10-25 05:29:55 +02:00
|
|
|
implementation "com.devbrackets.android:exomedia:${EXOMEDIA}"
|
|
|
|
|
2018-09-26 20:56:44 +02:00
|
|
|
implementation "com.mikepenz:fastadapter-extensions:${kau.fastAdapter}@aar"
|
2017-12-11 23:52:24 +01:00
|
|
|
|
2018-04-07 20:41:28 +02:00
|
|
|
//noinspection GradleDependency
|
2018-01-25 06:23:44 +01:00
|
|
|
implementation "com.github.bumptech.glide:okhttp3-integration:${kau.glide}"
|
2018-04-07 20:41:28 +02:00
|
|
|
//noinspection GradleDependency
|
2018-01-25 06:23:44 +01:00
|
|
|
kapt "com.github.bumptech.glide:compiler:${kau.glide}"
|
2017-12-30 05:37:10 +01:00
|
|
|
|
2018-09-26 20:56:44 +02:00
|
|
|
implementation "com.fasterxml.jackson.core:jackson-databind:${JACKSON}"
|
2017-12-31 06:42:49 +01:00
|
|
|
|
2017-08-30 20:11:16 +02:00
|
|
|
//noinspection GradleDependency
|
2017-08-04 07:21:51 +02:00
|
|
|
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
|
2017-08-30 20:11:16 +02:00
|
|
|
//noinspection GradleDependency
|
|
|
|
releaseTestImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
|
|
|
|
//noinspection GradleDependency
|
|
|
|
debugImplementation "com.squareup.leakcanary:leakcanary-android:${LEAK_CANARY}"
|
2017-08-20 19:59:34 +02:00
|
|
|
// testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
|
2017-08-04 07:21:51 +02:00
|
|
|
|
|
|
|
implementation "com.github.Raizlabs.DBFlow:dbflow:${DBFLOW}"
|
|
|
|
implementation "com.github.Raizlabs.DBFlow:dbflow-core:${DBFLOW}"
|
2017-05-31 02:26:14 +02:00
|
|
|
kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}"
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${DBFLOW}"
|
2017-06-26 23:54:07 +02:00
|
|
|
|
2017-05-30 00:05:26 +02:00
|
|
|
//Icons
|
2018-01-25 06:23:44 +01:00
|
|
|
implementation "com.mikepenz:material-design-iconic-typeface:${kau.iconicsMaterial}@aar"
|
|
|
|
implementation "com.mikepenz:community-material-typeface:${kau.iconicsCommunity}@aar"
|
2017-05-30 00:05:26 +02:00
|
|
|
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "org.jsoup:jsoup:${JSOUP}"
|
2017-05-30 10:03:01 +02:00
|
|
|
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "com.squareup.okhttp3:okhttp:${OKHTTP}"
|
2017-12-22 02:55:51 +01:00
|
|
|
implementation "com.squareup.okhttp3:logging-interceptor:${OKHTTP}"
|
2019-01-01 00:57:28 +01:00
|
|
|
testImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP}"
|
2018-12-26 04:14:56 +01:00
|
|
|
androidTestImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP}"
|
|
|
|
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "co.zsmb:materialdrawer-kt:${MATERIAL_DRAWER_KT}"
|
2017-06-03 09:22:10 +02:00
|
|
|
|
2018-03-21 06:28:31 +01:00
|
|
|
implementation "com.bugsnag:bugsnag-android:${BUGSNAG}"
|
2017-07-17 02:26:58 +02:00
|
|
|
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "com.davemorrissey.labs:subsampling-scale-image-view:${SCALE_IMAGE_VIEW}"
|
2017-07-17 02:26:58 +02:00
|
|
|
|
2017-08-04 07:21:51 +02:00
|
|
|
implementation "com.sothree.slidinguppanel:library:${SLIDING_PANEL}"
|
2017-07-31 00:57:27 +02:00
|
|
|
|
2017-08-15 05:48:39 +02:00
|
|
|
//Reactive Libs
|
2018-03-11 20:47:35 +01:00
|
|
|
implementation "io.reactivex.rxjava2:rxjava:${RX_JAVA}"
|
2017-08-15 05:48:39 +02:00
|
|
|
implementation "io.reactivex.rxjava2:rxkotlin:${RX_KOTLIN}"
|
|
|
|
implementation "io.reactivex.rxjava2:rxandroid:${RX_ANDROID}"
|
|
|
|
implementation "com.github.pwittchen:reactivenetwork-rx2:${RX_NETWORK}"
|
|
|
|
|
2018-03-21 06:28:31 +01:00
|
|
|
}
|
|
|
|
|
2018-11-19 03:28:25 +01:00
|
|
|
def kotlinResolutions = ['kotlin-reflect',
|
|
|
|
'kotlin-stdlib',
|
|
|
|
'kotlin-stdlib-jdk7',
|
|
|
|
'kotlin-stdlib-jdk8',
|
|
|
|
'kotlin-test',
|
|
|
|
'kotlin-test-junit4',
|
|
|
|
'kotlin-test-junit5']
|
|
|
|
|
|
|
|
configurations.all {
|
|
|
|
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
|
|
|
|
def requested = details.requested
|
|
|
|
if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) {
|
|
|
|
details.useVersion KOTLIN
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-03-21 06:28:31 +01:00
|
|
|
apply plugin: 'com.bugsnag.android.gradle'
|