0
0
mirror of https://github.com/mediathekview/zapp.git synced 2024-09-20 12:22:15 +02:00
zapp/app/build.gradle
2022-12-22 16:23:34 +01:00

185 lines
5.5 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'com.mikepenz.aboutlibraries.plugin'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'koin'
apply plugin: 'androidx.navigation.safeargs.kotlin'
android {
compileSdkVersion 33
buildToolsVersion '33.0.0'
defaultConfig {
applicationId "de.christinecoenen.code.zapp"
minSdkVersion 26
targetSdkVersion 33
versionCode 61
versionName "7.0.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resConfigs 'de', 'en'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
freeCompilerArgs += [
'-opt-in=kotlin.RequiresOptIn',
]
}
kapt {
arguments {
arg("room.schemaLocation", "$projectDir/schemas")
}
}
buildFeatures {
viewBinding {
enabled = true
}
}
buildTypes {
debug {
shrinkResources false
}
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile(
'proguard-android-optimize.txt'),
'proguard-rules.pro'
}
}
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'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
def fragment_version = '1.5.5'
// kotlin
implementation 'androidx.core:core-ktx:1.9.0'
// tests
def androix_test_version = '1.5.0'
// device tests
def espresso_version = '3.5.0'
debugImplementation "androidx.fragment:fragment-testing:$fragment_version"
androidTestImplementation "androidx.test:core-ktx:$androix_test_version"
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.4'
androidTestImplementation 'androidx.test:runner:1.5.1'
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.6.1'
testImplementation 'org.mockito.kotlin:mockito-kotlin:3.2.0'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
// support
implementation "androidx.fragment:fragment-ktx:$fragment_version"
implementation 'androidx.activity:activity-ktx:1.6.1'
implementation 'androidx.appcompat:appcompat:1.6.0-rc01'
implementation 'com.google.android.material:material:1.7.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.annotation:annotation:1.5.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation "androidx.paging:paging-runtime-ktx:3.1.1"
def lifecycle_version = "2.5.1"
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.4.3"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-paging:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
// helper
implementation 'com.google.code.gson:gson:2.9.0'
// sortable list
implementation 'com.github.woxthebox:draglistview:1.7.2'
// markdown
implementation 'io.noties.markwon:core:4.6.2'
// work manager
def work_version = "2.7.1"
implementation "androidx.work:work-runtime-ktx:$work_version"
// exo player
def exoplayer_version = "2.18.2"
implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer_version"
implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayer_version"
implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayer_version"
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
implementation "com.google.android.exoplayer:extension-leanback:$exoplayer_version"
implementation "com.google.android.exoplayer:extension-okhttp:$exoplayer_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.8.4"
implementation "ch.acra:acra-mail:$acra_version"
implementation "ch.acra:acra-dialog:$acra_version"
// timber logging
implementation 'com.jakewharton.timber:timber:5.0.1'
// joda time
implementation 'joda-time:joda-time:2.12.1'
// about libraries view
implementation "com.mikepenz:aboutlibraries:$about_libraries_version"
// koin dependency injection
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"
}