plugins { id('com.android.application') id('com.github.triplet.play') version '3.9.0' apply false } apply from: "../common.gradle" apply from: "../playFlavor.gradle" android { namespace "de.danoeh.antennapod" defaultConfig { // Version code schema: // "1.2.3-beta4" -> 1020304 // "1.2.3" -> 1020395 versionCode 3030095 versionName "3.3.0" def commit = "" try { def hashStdOut = new ByteArrayOutputStream() exec { commandLine "git", "rev-parse", "--short", "HEAD" standardOutput = hashStdOut } commit = hashStdOut.toString().trim() } catch (Exception ignore) { } buildConfigField "String", "COMMIT_HASH", ('"' + (commit.isEmpty() ? "Unknown commit" : commit) + '"') javaCompileOptions { annotationProcessorOptions { arguments = [eventBusIndex: 'de.danoeh.antennapod.ApEventBusIndex'] } } } signingConfigs { releaseConfig { enableV1Signing true enableV2Signing true storeFile file(project.getProperties().getOrDefault("releaseStoreFile", "keystore")) storePassword project.getProperties().getOrDefault("releaseStorePassword", "password") keyAlias project.getProperties().getOrDefault("releaseKeyAlias", "alias") keyPassword project.getProperties().getOrDefault("releaseKeyPassword", "password") } } buildTypes { debug { applicationIdSuffix ".debug" resValue "string", "provider_authority", "de.danoeh.antennapod.debug.provider" } release { resValue "string", "provider_authority", "de.danoeh.antennapod.provider" minifyEnabled true shrinkResources true signingConfig signingConfigs.releaseConfig } } lint { disable 'ObsoleteLintCustomCheck', 'CheckResult', 'UnusedAttribute', 'BatteryLife', 'InflateParams', 'RestrictedApi', 'TrustAllX509TrustManager', 'ExportedReceiver', 'AllowBackup', 'VectorDrawableCompat', 'StaticFieldLeak', 'UseCompoundDrawables', 'NestedWeights', 'Overdraw', 'UselessParent', 'TextFields', 'AlwaysShowAction', 'Autofill', 'ClickableViewAccessibility', 'ContentDescription', 'KeyboardInaccessibleWidget', 'LabelFor', 'SetTextI18n', 'HardcodedText', 'RelativeOverlap', 'RtlCompat', 'RtlHardcoded', 'MissingMediaBrowserServiceIntentFilter', 'VectorPath', 'InvalidPeriodicWorkRequestInterval', 'NotifyDataSetChanged', 'RtlEnabled' } androidResources { additionalParameters += ["--no-version-vectors"] } } dependencies { implementation project(":core") implementation project(":event") implementation project(':model') implementation project(':net:common') implementation project(':net:discovery') implementation project(':net:download:service-interface') implementation project(':net:sync:gpoddernet') implementation project(':net:sync:model') implementation project(':parser:feed') implementation project(':playback:base') implementation project(':playback:cast') implementation project(':storage:database') implementation project(':storage:importexport') implementation project(':storage:preferences') implementation project(':ui:app-start-intent') implementation project(':ui:common') implementation project(':ui:echo') implementation project(':ui:glide') implementation project(':ui:i18n') implementation project(':ui:statistics') annotationProcessor "androidx.annotation:annotation:$annotationVersion" implementation "androidx.appcompat:appcompat:$appcompatVersion" implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' implementation "androidx.core:core:$coreVersion" implementation "androidx.fragment:fragment:$fragmentVersion" implementation 'androidx.gridlayout:gridlayout:1.0.0' implementation "androidx.media:media:$mediaVersion" implementation "androidx.palette:palette:$paletteVersion" implementation "androidx.preference:preference:$preferenceVersion" implementation "androidx.recyclerview:recyclerview:$recyclerViewVersion" implementation "androidx.viewpager2:viewpager2:$viewPager2Version" implementation "androidx.work:work-runtime:$workManagerVersion" implementation "com.google.android.material:material:$googleMaterialVersion" implementation "org.apache.commons:commons-lang3:$commonslangVersion" implementation "commons-io:commons-io:$commonsioVersion" implementation "org.jsoup:jsoup:$jsoupVersion" implementation "com.github.bumptech.glide:glide:$glideVersion" implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion" implementation "org.greenrobot:eventbus:$eventbusVersion" annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbusVersion" implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion" implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion" implementation 'com.leinardi.android:speed-dial:3.2.0' implementation 'com.github.ByteHamster:SearchPreference:v2.5.0' implementation 'com.github.skydoves:balloon:1.5.3' implementation 'com.github.xabaras:RecyclerViewSwipeDecorator:1.3' androidTestImplementation "org.awaitility:awaitility:$awaitilityVersion" androidTestImplementation 'com.nanohttpd:nanohttpd:2.1.1' androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" androidTestImplementation "androidx.test:runner:$runnerVersion" androidTestImplementation "androidx.test:rules:$rulesVersion" androidTestImplementation 'androidx.test.ext:junit:1.1.1' } if (project.hasProperty("antennaPodPlayPublisherCredentials")) { apply plugin: 'com.github.triplet.play' play { track.set('alpha') serviceAccountCredentials.set(file(antennaPodPlayPublisherCredentials)) } } tasks.register('copyLicense', Copy) { from "../LICENSE" into "src/main/assets/" rename { String fileName -> fileName + ".txt" } } preBuild.dependsOn copyLicense