AntennaPod/app/build.gradle

195 lines
7.7 KiB
Groovy
Raw Normal View History

plugins {
2019-08-20 22:17:56 +02:00
id('com.android.application')
id('com.getkeepsafe.dexcount')
id('com.github.triplet.play') version '3.7.0-agp4.2' apply false
}
apply from: "../common.gradle"
apply from: "../playFlavor.gradle"
android {
defaultConfig {
// Version code schema:
2021-03-03 11:51:52 +01:00
// "1.2.3-beta4" -> 1020304
2019-05-12 18:25:15 +02:00
// "1.2.3" -> 1020395
2022-05-04 22:08:29 +02:00
versionCode 2060001
versionName "2.6.0-beta1"
2020-05-07 17:38:01 +02:00
def commit = ""
2019-11-09 00:06:32 +01:00
try {
def hashStdOut = new ByteArrayOutputStream()
exec {
commandLine "git", "rev-parse", "--short", "HEAD"
standardOutput = hashStdOut
}
commit = hashStdOut.toString().trim()
2020-04-26 03:03:16 +02:00
} catch (Exception ignore) {
}
buildConfigField "String", "COMMIT_HASH", ('"' + (commit.isEmpty() ? "Unknown commit" : commit) + '"')
2019-05-28 17:26:09 +02:00
javaCompileOptions {
annotationProcessorOptions {
2020-04-26 03:03:16 +02:00
arguments = [eventBusIndex: 'de.danoeh.antennapod.ApEventBusIndex']
2019-05-28 17:26:09 +02:00
}
}
}
signingConfigs {
releaseConfig {
2022-02-09 17:28:40 +01:00
enableV1Signing true
enableV2Signing true
2020-09-28 11:08:41 +02:00
2015-11-01 17:48:33 +01:00
if (project.hasProperty("releaseStoreFile")) {
storeFile file(releaseStoreFile)
} else {
2015-11-01 17:48:33 +01:00
storeFile file("keystore")
}
2015-11-01 17:48:33 +01:00
if (project.hasProperty("releaseStorePassword")) {
storePassword releaseStorePassword
} else {
storePassword "password"
}
2015-11-01 17:48:33 +01:00
if (project.hasProperty("releaseKeyAlias")) {
keyAlias releaseKeyAlias
} else {
keyAlias "alias"
}
2015-11-01 17:48:33 +01:00
if (project.hasProperty("releaseKeyPassword")) {
keyPassword releaseKeyPassword
} else {
keyPassword "password"
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
resValue "string", "provider_authority", "de.danoeh.antennapod.debug.provider"
dexcount {
if (project.hasProperty("enableDexcountInDebug")) {
runOnEachPackage = enableDexcountInDebug.toBoolean()
} else { // default to not running dexcount
runOnEachPackage = false
}
}
}
release {
resValue "string", "provider_authority", "de.danoeh.antennapod.provider"
2014-11-05 20:40:24 +01:00
minifyEnabled true
shrinkResources true
signingConfig signingConfigs.releaseConfig
}
}
lintOptions {
2020-07-16 11:36:37 +02:00
disable 'ObsoleteLintCustomCheck', 'CheckResult', 'UnusedAttribute', 'BatteryLife', 'InflateParams',
'RestrictedApi', 'TrustAllX509TrustManager', 'ExportedReceiver', 'AllowBackup', 'VectorDrawableCompat',
2020-07-16 11:36:37 +02:00
'StaticFieldLeak', 'UseCompoundDrawables', 'NestedWeights', 'Overdraw', 'UselessParent', 'TextFields',
'AlwaysShowAction', 'Autofill', 'ClickableViewAccessibility', 'ContentDescription',
'KeyboardInaccessibleWidget', 'LabelFor', 'SetTextI18n', 'HardcodedText', 'RelativeOverlap',
2021-04-17 17:25:45 +02:00
'RtlCompat', 'RtlHardcoded', 'MissingMediaBrowserServiceIntentFilter', 'VectorPath',
'InvalidPeriodicWorkRequestInterval'
2015-08-18 17:38:51 +02:00
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
2016-12-31 16:01:48 +01:00
dexOptions {
jumboMode true
}
}
dependencies {
2021-02-23 17:11:32 +01:00
implementation project(":core")
2021-11-02 20:58:05 +01:00
implementation project(":event")
2021-04-22 23:17:11 +02:00
implementation project(':model')
implementation project(':net:discovery')
implementation project(':net:sync:gpoddernet')
implementation project(':net:sync:model')
2021-08-28 00:12:48 +02:00
implementation project(':parser:feed')
2021-11-28 22:19:14 +01:00
implementation project(':playback:base')
implementation project(':playback:cast')
2022-02-27 12:12:24 +01:00
implementation project(':storage:database')
2021-02-07 11:29:39 +01:00
implementation project(':ui:app-start-intent')
2021-02-12 21:00:39 +01:00
implementation project(':ui:common')
2022-02-22 23:43:03 +01:00
implementation project(':ui:i18n')
2022-02-23 00:22:51 +01:00
implementation project(':ui:statistics')
2020-04-26 03:03:16 +02:00
2020-05-07 17:38:01 +02:00
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
implementation "androidx.appcompat:appcompat:$appcompatVersion"
2020-04-26 03:03:16 +02:00
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
2021-08-29 02:33:44 +02:00
implementation "androidx.core:core:$coreVersion"
implementation "androidx.fragment:fragment:$fragmentVersion"
2020-04-26 03:03:16 +02:00
implementation 'androidx.gridlayout:gridlayout:1.0.0'
2020-05-07 17:38:01 +02:00
implementation "androidx.media:media:$mediaVersion"
2022-02-27 10:35:16 +01:00
implementation 'androidx.multidex:multidex:2.0.1'
implementation "androidx.palette:palette:$paletteVersion"
2020-05-07 17:38:01 +02:00
implementation "androidx.preference:preference:$preferenceVersion"
implementation "androidx.recyclerview:recyclerview:$recyclerViewVersion"
implementation "androidx.viewpager2:viewpager2:$viewPager2Version"
implementation "androidx.work:work-runtime:$workManagerVersion"
2020-05-07 17:38:01 +02:00
implementation "com.google.android.material:material:$googleMaterialVersion"
2020-04-26 03:03:16 +02:00
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"
2019-01-03 18:43:19 +01:00
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
implementation "com.squareup.okio:okio:$okioVersion"
implementation "org.greenrobot:eventbus:$eventbusVersion"
2019-05-28 17:26:09 +02:00
annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbusVersion"
2018-09-30 19:58:53 +02:00
implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
implementation "com.joanzapata.iconify:android-iconify-fontawesome:$iconifyVersion"
implementation "com.joanzapata.iconify:android-iconify-material:$iconifyVersion"
2020-05-07 17:38:01 +02:00
implementation 'com.github.shts:TriangleLabelView:1.1.2'
2022-01-08 02:14:23 +01:00
implementation 'com.leinardi.android:speed-dial:3.2.0'
implementation "com.github.AntennaPod:AntennaPod-AudioPlayer:$audioPlayerVersion"
2019-10-13 23:32:25 +02:00
implementation 'com.github.ByteHamster:SearchPreference:v2.0.0'
2022-01-04 11:37:26 +01:00
implementation 'com.github.skydoves:balloon:1.4.0'
2021-08-29 04:43:36 +02:00
implementation 'com.github.xabaras:RecyclerViewSwipeDecorator:1.3'
2021-07-12 00:03:32 +02:00
implementation 'com.annimon:stream:1.2.2'
2020-05-07 17:38:01 +02:00
2021-02-23 17:11:32 +01:00
// Non-free dependencies:
playImplementation 'com.google.android.play:core:1.8.0'
2020-05-07 17:38:01 +02:00
compileOnly "com.google.android.wearable:wearable:$wearableSupportVersion"
androidTestImplementation "org.awaitility:awaitility:$awaitilityVersion"
2020-04-26 03:03:16 +02:00
androidTestImplementation 'com.nanohttpd:nanohttpd:2.1.1'
androidTestImplementation "com.jayway.android.robotium:robotium-solo:$robotiumSoloVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion"
2020-05-07 17:38:01 +02:00
androidTestImplementation "androidx.test:runner:$runnerVersion"
androidTestImplementation "androidx.test:rules:$rulesVersion"
2020-07-13 06:49:35 +02:00
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
}
if (project.hasProperty("antennaPodPlayPublisherCredentials")) {
2019-08-20 22:17:56 +02:00
apply plugin: 'com.github.triplet.play'
play {
2021-07-22 22:48:48 +02:00
track.set('alpha')
serviceAccountCredentials.set(file(antennaPodPlayPublisherCredentials))
2019-01-16 23:15:34 +01:00
}
}
2019-11-09 01:07:13 +01:00
task copyLicense(type: Copy) {
from "../LICENSE"
into "src/main/assets/"
rename { String fileName ->
fileName + ".txt"
}
}
2019-11-09 01:07:13 +01:00
preBuild.dependsOn copyLicense
2016-05-16 08:42:43 +02:00
2020-03-30 00:39:52 +02:00
apply plugin: 'de.timfreiheit.resourceplaceholders.plugin'
resourcePlaceholders {
files = ['xml/shortcuts.xml']
}