ultrasonic-app-subsonic-and.../ultrasonic/build.gradle

125 lines
3.3 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 81
versionName "2.14.0"
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
resConfigs "de", "en", "es", "fr", "hu", "nl", "pl", "pt", "pt-rBR"
}
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")
warning 'MissingTranslation'
abortOnError true
}
}
tasks.withType(Test) {
useJUnitPlatform()
}
dependencies {
implementation project(':core:menudrawer')
implementation project(':core:library')
implementation project(':core:domain')
implementation project(':core:subsonic-api')
implementation project(':core:subsonic-api-image-loader')
implementation project(':core:cache')
implementation androidSupport.support
implementation androidSupport.design
implementation androidSupport.multidex
implementation androidSupport.roomRuntime
implementation androidSupport.roomKtx
implementation androidSupport.viewModelKtx
implementation androidSupport.constraintLayout
implementation other.kotlinStdlib
implementation other.kotlinxCoroutines
implementation other.koinAndroid
implementation other.koinViewModel
implementation other.okhttpLogging
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
}