146 lines
4.1 KiB
Groovy
146 lines
4.1 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'jacoco'
|
|
apply from: "../gradle_scripts/code_quality.gradle"
|
|
|
|
android {
|
|
compileSdkVersion versions.compileSdk
|
|
|
|
defaultConfig {
|
|
applicationId "org.moire.ultrasonic"
|
|
versionCode 92
|
|
versionName "2.20.0"
|
|
|
|
minSdkVersion versions.minSdk
|
|
targetSdkVersion versions.targetSdk
|
|
|
|
resConfigs "cs", "de", "en", "es", "fr", "hu", "it", "nl", "pl", "pt", "pt-rBR", "ru", "zh-rCN", "zh-rTW"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
|
'minify/proguard-main.pro',
|
|
'minify/proguard-okhttp.pro',
|
|
'minify/proguard-retrofit.pro',
|
|
'minify/proguard-jackson.pro',
|
|
'minify/proguard-kotlin-reflect.pro',
|
|
'minify/proguard-kotlin.pro'
|
|
}
|
|
debug {
|
|
minifyEnabled false
|
|
multiDexEnabled true
|
|
testCoverageEnabled true
|
|
applicationIdSuffix ".debug"
|
|
}
|
|
}
|
|
sourceSets {
|
|
main.java.srcDirs += "${projectDir}/src/main/kotlin"
|
|
test.java.srcDirs += "${projectDir}/src/test/kotlin"
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'META-INF/LICENSE'
|
|
}
|
|
|
|
lintOptions {
|
|
baselineFile file("lint-baseline.xml")
|
|
ignore 'MissingTranslation'
|
|
warning 'ImpliedQuantity'
|
|
disable 'IconMissingDensityFolder'
|
|
abortOnError true
|
|
warningsAsErrors true
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
freeCompilerArgs += "-Xopt-in=org.koin.core.component.KoinApiExtension"
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
}
|
|
|
|
tasks.withType(Test) {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':core:domain')
|
|
implementation project(':core:subsonic-api')
|
|
implementation project(':core:subsonic-api-image-loader')
|
|
implementation project(':core:cache')
|
|
|
|
implementation androidSupport.core
|
|
implementation androidSupport.support
|
|
implementation androidSupport.design
|
|
implementation androidSupport.multidex
|
|
implementation androidSupport.roomRuntime
|
|
implementation androidSupport.roomKtx
|
|
implementation androidSupport.viewModelKtx
|
|
implementation androidSupport.constraintLayout
|
|
implementation androidSupport.preferences
|
|
implementation androidSupport.media
|
|
|
|
implementation androidSupport.navigationFragment
|
|
implementation androidSupport.navigationUi
|
|
implementation androidSupport.navigationFragmentKtx
|
|
implementation androidSupport.navigationUiKtx
|
|
implementation androidSupport.navigationFeature
|
|
|
|
implementation other.kotlinStdlib
|
|
implementation other.kotlinxCoroutines
|
|
implementation other.koinAndroid
|
|
implementation other.koinViewModel
|
|
implementation other.okhttpLogging
|
|
implementation other.fastScroll
|
|
implementation other.sortListView
|
|
|
|
kapt androidSupport.room
|
|
|
|
testImplementation other.kotlinReflect
|
|
testImplementation testing.junit
|
|
testRuntimeOnly testing.junitVintage
|
|
testImplementation testing.kotlinJunit
|
|
testImplementation testing.mockitoKotlin
|
|
testImplementation testing.kluent
|
|
implementation other.dexter
|
|
implementation other.timber
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion(versions.jacoco)
|
|
}
|
|
|
|
// Excluding all java classes and stuff that should not be covered
|
|
ext {
|
|
jacocoExclude = [
|
|
'**/activity/**',
|
|
'**/audiofx/**',
|
|
'**/fragment/**',
|
|
'**/provider/**',
|
|
'**/receiver/**',
|
|
'**/service/**',
|
|
'**/Test/**',
|
|
'**/util/**',
|
|
'**/view/**',
|
|
'**/R$*.class',
|
|
'**/R.class',
|
|
'**/BuildConfig.class',
|
|
'**/di/**',
|
|
'jdk.internal.*'
|
|
]
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion(versions.jacoco)
|
|
}
|
|
|
|
tasks.withType(Test) {
|
|
jacoco.includeNoLocationClasses = true
|
|
jacoco.excludes += jacocoExclude
|
|
}
|