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

113 lines
2.9 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'jacoco'
apply from: "../gradle_scripts/code_quality.gradle"
android {
compileSdkVersion versions.compileSdk
defaultConfig {
applicationId "org.moire.ultrasonic"
versionCode 72
versionName "2.7.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")
abortOnError true
}
}
tasks.withType(Test) {
useJUnitPlatform()
}
dependencies {
implementation project(':core:menudrawer')
implementation project(':core:pulltorefresh')
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 other.kotlinStdlib
implementation other.koinAndroid
implementation other.koinJava
testImplementation other.kotlinReflect
testImplementation testing.junit
testRuntimeOnly testing.junitVintage
testImplementation testing.kotlinJunit
testImplementation testing.mockitoKotlin
testImplementation testing.kluent
implementation other.dexter
}
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/**'
]
}
jacoco {
toolVersion(versions.jacoco)
}
tasks.withType(Test) {
jacoco.includeNoLocationClasses = true
}