mirror of
https://github.com/mediathekview/zapp.git
synced 2024-09-20 04:12:14 +02:00
194 lines
5.8 KiB
Groovy
194 lines
5.8 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'kotlin-android'
|
|
id 'com.google.devtools.ksp'
|
|
id 'com.mikepenz.aboutlibraries.plugin'
|
|
id 'androidx.navigation.safeargs.kotlin'
|
|
}
|
|
|
|
android {
|
|
|
|
defaultConfig {
|
|
applicationId "de.christinecoenen.code.zapp"
|
|
compileSdk 34
|
|
minSdkVersion 26
|
|
targetSdkVersion 34
|
|
versionCode 71
|
|
versionName "8.5.1"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
resourceConfigurations += ['de', 'en']
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = JavaVersion.VERSION_17.toString()
|
|
freeCompilerArgs += [
|
|
'-opt-in=kotlin.RequiresOptIn',
|
|
]
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding = true
|
|
buildConfig = true
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
shrinkResources false
|
|
applicationIdSuffix '.debug'
|
|
}
|
|
release {
|
|
shrinkResources true
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile(
|
|
'proguard-android-optimize.txt'),
|
|
'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
lint {
|
|
// disabled for PR workflow with 3rd party translation tools
|
|
disable 'MissingTranslation'
|
|
}
|
|
|
|
testOptions {
|
|
unitTests {
|
|
includeAndroidResources = true
|
|
all {
|
|
testLogging {
|
|
events 'passed', 'skipped', 'failed', 'standardError'
|
|
exceptionFormat 'full'
|
|
}
|
|
|
|
if (project.hasProperty('ci')) {
|
|
// tests that should *not* run on ci machines:
|
|
exclude '**/JsonChannelListConnectionTest*'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
namespace 'de.christinecoenen.code.zapp'
|
|
}
|
|
|
|
ksp {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
|
|
def fragment_version = '1.6.2'
|
|
|
|
// kotlin
|
|
implementation 'androidx.core:core-ktx:1.12.0'
|
|
|
|
// tests
|
|
def androix_test_version = '1.5.0'
|
|
|
|
// device tests
|
|
def espresso_version = '3.5.1'
|
|
debugImplementation "androidx.fragment:fragment-testing:$fragment_version"
|
|
androidTestImplementation "androidx.test:core-ktx:$androix_test_version"
|
|
androidTestImplementation "androidx.test:core-ktx:$androix_test_version"
|
|
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.5'
|
|
androidTestImplementation 'androidx.test:runner:1.5.2'
|
|
androidTestImplementation 'androidx.test:rules:1.5.0'
|
|
androidTestImplementation("androidx.test.espresso:espresso-core:$espresso_version") {
|
|
exclude group: 'org.checkerframework', module: 'checker'
|
|
}
|
|
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espresso_version") {
|
|
exclude group: 'org.checkerframework', module: 'checker'
|
|
}
|
|
|
|
// unit tests
|
|
testImplementation 'junit:junit:4.13.2'
|
|
testImplementation "androidx.test:core-ktx:$androix_test_version"
|
|
testImplementation 'org.robolectric:robolectric:4.10.3'
|
|
testImplementation 'org.mockito.kotlin:mockito-kotlin:5.0.0'
|
|
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
|
|
|
|
// support
|
|
implementation "androidx.fragment:fragment-ktx:$fragment_version"
|
|
implementation 'androidx.activity:activity-ktx:1.8.2'
|
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
implementation 'com.google.android.material:material:1.11.0'
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.annotation:annotation:1.7.1'
|
|
implementation 'androidx.recyclerview:recyclerview:1.3.2'
|
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
|
implementation "androidx.paging:paging-runtime-ktx:3.2.1"
|
|
|
|
def lifecycle_version = "2.7.0"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
|
|
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
|
|
|
// room database
|
|
def room_version = "2.6.1"
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
implementation "androidx.room:room-paging:$room_version"
|
|
ksp "androidx.room:room-compiler:$room_version"
|
|
implementation "androidx.room:room-ktx:$room_version"
|
|
|
|
// helper
|
|
implementation 'com.google.code.gson:gson:2.10.1'
|
|
|
|
// sortable list
|
|
implementation 'com.github.woxthebox:draglistview:1.7.3'
|
|
|
|
// markdown
|
|
implementation 'io.noties.markwon:core:4.6.2'
|
|
|
|
// work manager
|
|
def work_version = "2.9.0"
|
|
implementation "androidx.work:work-runtime-ktx:$work_version"
|
|
|
|
// exo player
|
|
def media3_version = "1.3.0"
|
|
implementation "androidx.media3:media3-exoplayer:$media3_version"
|
|
implementation "androidx.media3:media3-exoplayer-hls:$media3_version"
|
|
implementation "androidx.media3:media3-ui:$media3_version"
|
|
implementation "androidx.media3:media3-ui-leanback:$media3_version"
|
|
implementation "androidx.media3:media3-session:$media3_version"
|
|
implementation "androidx.media3:media3-datasource-okhttp:$media3_version"
|
|
|
|
// retrofit rest client
|
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
|
|
|
// ACRA crash reporting
|
|
def acra_version = "5.11.3"
|
|
implementation "ch.acra:acra-mail:$acra_version"
|
|
implementation "ch.acra:acra-dialog:$acra_version"
|
|
|
|
// timber logging
|
|
implementation 'com.jakewharton.timber:timber:5.0.1'
|
|
|
|
// phoenix process restart
|
|
implementation 'com.jakewharton:process-phoenix:2.1.2'
|
|
|
|
// joda time
|
|
implementation 'joda-time:joda-time:2.12.5'
|
|
|
|
// about libraries view
|
|
implementation "com.mikepenz:aboutlibraries:$about_libraries_version"
|
|
|
|
// koin dependency injection
|
|
def koin_version = '3.5.0'
|
|
implementation "io.insert-koin:koin-android:$koin_version"
|
|
androidTestImplementation "io.insert-koin:koin-test:$koin_version"
|
|
testImplementation "io.insert-koin:koin-test:$koin_version"
|
|
|
|
// android tv
|
|
implementation 'androidx.leanback:leanback:1.1.0-rc02'
|
|
implementation "androidx.leanback:leanback-tab:1.1.0-beta01"
|
|
implementation "androidx.leanback:leanback-preference:1.2.0-alpha04"
|
|
}
|