apply plugin: 'com.android.application' apply plugin: 'com.mikepenz.aboutlibraries.plugin' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 29 buildToolsVersion '29.0.3' defaultConfig { applicationId "de.christinecoenen.code.zapp" minSdkVersion 21 targetSdkVersion 29 versionCode 47 versionName "3.6.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } kapt { arguments { arg("room.schemaLocation", "$projectDir/schemas") } } packagingOptions { exclude 'META-INF/library-core_release.kotlin_module' } buildFeatures { viewBinding { enabled = true } } buildTypes { debug { shrinkResources false } release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.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*' } } } } } configurations { cleanedAnnotations compile.exclude group: 'org.jetbrains', module: 'annotations' } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') // kotlin implementation 'androidx.core:core-ktx:1.3.2' // tests debugImplementation 'androidx.test:core:1.3.0' debugImplementation 'androidx.fragment:fragment-testing:1.2.5' // device tests androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test:runner:1.3.0' androidTestImplementation 'androidx.test:rules:1.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0' // unit tests testImplementation 'androidx.test.ext:junit:1.1.2' testImplementation 'org.robolectric:robolectric:4.4' // support implementation 'androidx.fragment:fragment-ktx:1.2.5' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.preference:preference-ktx:1.1.1' implementation "androidx.paging:paging-runtime-ktx:2.1.2" implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0' implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0" // room database def room_version = "2.2.6" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" implementation "androidx.room:room-rxjava2:${room_version}" // helper implementation 'com.google.code.gson:gson:2.8.6' implementation 'commons-io:commons-io:2.8.0' // sortable list implementation 'com.github.woxthebox:draglistview:1.7.2' // markdown implementation 'ru.noties:markwon:2.0.2' // fetch download manager implementation 'androidx.tonyodev.fetch2:xfetch2:3.1.5' implementation 'androidx.tonyodev.fetch2okhttp:xfetch2okhttp:3.1.5' // exo player implementation 'com.google.android.exoplayer:exoplayer-core:2.12.0' implementation 'com.google.android.exoplayer:exoplayer-hls:2.12.0' implementation 'com.google.android.exoplayer:exoplayer-ui:2.12.0' implementation 'com.google.android.exoplayer:extension-mediasession:2.12.0' // retrofit rest client implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0' // ACRA crash reporting implementation 'ch.acra:acra-mail:5.7.0' implementation 'ch.acra:acra-dialog:5.7.0' // timber logging implementation 'com.jakewharton.timber:timber:4.7.1' // joda time implementation 'joda-time:joda-time:2.10.6' // rxjava implementation 'io.reactivex.rxjava2:rxjava:2.2.19' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' // about libraries view implementation 'com.mikepenz:aboutlibraries:8.6.2' implementation 'org.jetbrains:annotations-java5:20.1.0' }