2015-07-26 17:03:28 +02:00
|
|
|
apply plugin: 'com.android.application'
|
2017-03-02 06:37:51 +01:00
|
|
|
apply plugin: 'kotlin-android'
|
2020-09-18 09:37:19 +02:00
|
|
|
apply plugin: 'kotlin-kapt'
|
2018-09-11 22:21:55 +02:00
|
|
|
apply plugin: 'jacoco'
|
2017-07-29 22:31:20 +02:00
|
|
|
apply from: "../gradle_scripts/code_quality.gradle"
|
2015-07-26 17:03:28 +02:00
|
|
|
|
|
|
|
android {
|
2017-01-14 21:44:28 +01:00
|
|
|
compileSdkVersion versions.compileSdk
|
2015-07-26 17:03:28 +02:00
|
|
|
|
|
|
|
defaultConfig {
|
2015-07-26 18:15:07 +02:00
|
|
|
applicationId "org.moire.ultrasonic"
|
2022-04-11 10:12:52 +02:00
|
|
|
versionCode 103
|
|
|
|
versionName "3.2.0"
|
2018-01-29 17:48:34 +01:00
|
|
|
|
2017-01-14 21:44:28 +01:00
|
|
|
minSdkVersion versions.minSdk
|
|
|
|
targetSdkVersion versions.targetSdk
|
2022-03-20 13:12:47 +01:00
|
|
|
resConfigs 'cs', 'de', 'en', 'es', 'fr', 'hu', 'it', 'nl', 'pl', 'pt', 'pt-rBR', 'ru', 'zh-rCN', 'zh-rTW'
|
2015-07-26 17:03:28 +02:00
|
|
|
}
|
|
|
|
|
2022-03-19 17:36:46 +01:00
|
|
|
bundle.language.enableSplit = false
|
|
|
|
|
2015-07-26 17:03:28 +02:00
|
|
|
buildTypes {
|
|
|
|
release {
|
2018-03-18 18:09:42 +01:00
|
|
|
minifyEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
2018-03-21 22:10:37 +01:00
|
|
|
'minify/proguard-main.pro',
|
2018-03-18 18:09:42 +01:00
|
|
|
'minify/proguard-okhttp.pro',
|
|
|
|
'minify/proguard-retrofit.pro',
|
2018-03-21 22:10:37 +01:00
|
|
|
'minify/proguard-jackson.pro',
|
|
|
|
'minify/proguard-kotlin-reflect.pro',
|
|
|
|
'minify/proguard-kotlin.pro'
|
2015-07-26 17:03:28 +02:00
|
|
|
}
|
2017-08-09 21:56:20 +02:00
|
|
|
debug {
|
|
|
|
minifyEnabled false
|
2020-06-05 17:09:33 +02:00
|
|
|
multiDexEnabled true
|
2017-08-09 21:56:20 +02:00
|
|
|
testCoverageEnabled true
|
2018-03-21 22:10:37 +01:00
|
|
|
applicationIdSuffix ".debug"
|
2017-08-09 21:56:20 +02:00
|
|
|
}
|
2015-07-26 17:03:28 +02:00
|
|
|
}
|
2017-03-02 06:37:51 +01:00
|
|
|
sourceSets {
|
2017-08-09 21:56:20 +02:00
|
|
|
main.java.srcDirs += "${projectDir}/src/main/kotlin"
|
|
|
|
test.java.srcDirs += "${projectDir}/src/test/kotlin"
|
2017-03-02 06:37:51 +01:00
|
|
|
}
|
2017-07-24 22:41:22 +02:00
|
|
|
packagingOptions {
|
2022-02-16 18:33:07 +01:00
|
|
|
resources {
|
|
|
|
excludes += ['META-INF/LICENSE']
|
|
|
|
}
|
2017-07-24 22:41:22 +02:00
|
|
|
}
|
2017-07-31 22:44:51 +02:00
|
|
|
|
2021-02-04 20:15:58 +01:00
|
|
|
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
2021-12-22 13:26:58 +01:00
|
|
|
|
|
|
|
buildFeatures {
|
|
|
|
viewBinding true
|
2021-12-22 13:36:13 +01:00
|
|
|
dataBinding true
|
2021-12-22 13:26:58 +01:00
|
|
|
}
|
|
|
|
|
2021-04-18 22:21:34 +02:00
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
2021-06-20 16:45:34 +02:00
|
|
|
|
|
|
|
kapt {
|
|
|
|
arguments {
|
|
|
|
arg("room.schemaLocation", "$buildDir/schemas".toString())
|
|
|
|
}
|
|
|
|
}
|
2022-02-16 18:33:07 +01:00
|
|
|
lint {
|
2022-02-16 19:04:27 +01:00
|
|
|
baseline = file("lint-baseline.xml")
|
2022-02-16 18:33:07 +01:00
|
|
|
abortOnError true
|
2022-02-16 19:04:27 +01:00
|
|
|
warningsAsErrors true
|
2022-02-16 18:33:07 +01:00
|
|
|
disable 'IconMissingDensityFolder', 'VectorPath'
|
2022-02-16 19:04:27 +01:00
|
|
|
ignore 'MissingTranslation', 'UnusedQuantity', 'MissingQuantity'
|
2022-02-16 18:33:07 +01:00
|
|
|
warning 'ImpliedQuantity'
|
|
|
|
}
|
2021-06-20 16:45:34 +02:00
|
|
|
|
2015-07-26 17:03:28 +02:00
|
|
|
}
|
|
|
|
|
2018-10-06 14:54:28 +02:00
|
|
|
tasks.withType(Test) {
|
|
|
|
useJUnitPlatform()
|
|
|
|
}
|
|
|
|
|
2015-07-26 17:03:28 +02:00
|
|
|
dependencies {
|
2018-10-06 14:13:57 +02:00
|
|
|
implementation project(':core:domain')
|
2018-10-06 14:33:36 +02:00
|
|
|
implementation project(':core:subsonic-api')
|
2017-02-04 23:18:02 +01:00
|
|
|
|
2021-12-20 21:25:51 +01:00
|
|
|
api(libs.picasso) {
|
2021-06-07 00:22:29 +02:00
|
|
|
exclude group: "com.android.support"
|
|
|
|
}
|
|
|
|
|
2021-12-20 21:25:51 +01:00
|
|
|
implementation libs.core
|
|
|
|
implementation libs.support
|
|
|
|
implementation libs.design
|
|
|
|
implementation libs.multidex
|
|
|
|
implementation libs.roomRuntime
|
|
|
|
implementation libs.roomKtx
|
|
|
|
implementation libs.viewModelKtx
|
|
|
|
implementation libs.constraintLayout
|
|
|
|
implementation libs.preferences
|
|
|
|
implementation libs.media
|
2022-04-03 23:57:50 +02:00
|
|
|
implementation libs.media3exoplayer
|
|
|
|
implementation libs.media3session
|
|
|
|
implementation libs.media3okhttp
|
2021-12-20 21:25:51 +01:00
|
|
|
|
|
|
|
implementation libs.navigationFragment
|
|
|
|
implementation libs.navigationUi
|
|
|
|
implementation libs.navigationFragmentKtx
|
|
|
|
implementation libs.navigationUiKtx
|
|
|
|
implementation libs.navigationFeature
|
|
|
|
|
|
|
|
implementation libs.kotlinStdlib
|
|
|
|
implementation libs.kotlinxCoroutines
|
2022-04-04 21:18:07 +02:00
|
|
|
implementation libs.kotlinxGuava
|
2021-12-20 21:25:51 +01:00
|
|
|
implementation libs.koinAndroid
|
|
|
|
implementation libs.okhttpLogging
|
|
|
|
implementation libs.fastScroll
|
|
|
|
implementation libs.colorPickerView
|
|
|
|
implementation libs.rxJava
|
|
|
|
implementation libs.rxAndroid
|
|
|
|
implementation libs.multiType
|
|
|
|
|
|
|
|
kapt libs.room
|
|
|
|
|
|
|
|
testImplementation libs.kotlinReflect
|
|
|
|
testImplementation libs.junit
|
|
|
|
testRuntimeOnly libs.junitVintage
|
|
|
|
testImplementation libs.kotlinJunit
|
|
|
|
testImplementation libs.kluent
|
|
|
|
testImplementation libs.mockito
|
|
|
|
testImplementation libs.mockitoInline
|
|
|
|
testImplementation libs.mockitoKotlin
|
|
|
|
testImplementation libs.robolectric
|
|
|
|
|
|
|
|
implementation libs.timber
|
2015-07-26 17:03:28 +02:00
|
|
|
}
|
2017-08-09 21:56:20 +02:00
|
|
|
|
2018-10-07 20:45:20 +02:00
|
|
|
jacoco {
|
2021-12-20 21:25:51 +01:00
|
|
|
toolVersion(libs.versions.jacoco.get())
|
2018-10-07 20:45:20 +02:00
|
|
|
}
|
|
|
|
|
2018-06-23 22:49:46 +02:00
|
|
|
// Excluding all java classes and stuff that should not be covered
|
2017-08-09 21:56:20 +02:00
|
|
|
ext {
|
|
|
|
jacocoExclude = [
|
|
|
|
'**/activity/**',
|
|
|
|
'**/audiofx/**',
|
|
|
|
'**/fragment/**',
|
|
|
|
'**/provider/**',
|
|
|
|
'**/receiver/**',
|
|
|
|
'**/service/**',
|
|
|
|
'**/Test/**',
|
|
|
|
'**/util/**',
|
|
|
|
'**/view/**',
|
|
|
|
'**/R$*.class',
|
|
|
|
'**/R.class',
|
2018-06-23 22:49:46 +02:00
|
|
|
'**/BuildConfig.class',
|
2020-08-24 13:59:40 +02:00
|
|
|
'**/di/**',
|
|
|
|
'jdk.internal.*'
|
2017-08-09 21:56:20 +02:00
|
|
|
]
|
|
|
|
}
|
2020-08-24 13:59:40 +02:00
|
|
|
|
|
|
|
jacoco {
|
2021-12-20 21:25:51 +01:00
|
|
|
toolVersion(libs.versions.jacoco.get())
|
2020-08-24 13:59:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(Test) {
|
|
|
|
jacoco.includeNoLocationClasses = true
|
|
|
|
jacoco.excludes += jacocoExclude
|
|
|
|
}
|