AntennaPod/app/build.gradle

238 lines
8.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 '2.7.5' apply false
}
android {
2015-11-01 17:48:33 +01:00
compileSdkVersion rootProject.ext.compileSdkVersion
viewBinding {
enabled = true
}
lintOptions {
checkGeneratedSources = true
}
defaultConfig {
2015-11-01 17:48:33 +01:00
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
// Version code schema:
// "1.2.3-SNAPSHOT" -> 1020300
// "1.2.3-RC4" -> 1020304
2019-05-12 18:25:15 +02:00
// "1.2.3" -> 1020395
2021-01-01 20:00:45 +01:00
versionCode 2010295
versionName "2.1.2"
2020-05-07 17:38:01 +02:00
multiDexEnabled false
vectorDrawables.useSupportLibrary true
vectorDrawables.generatedDensities = []
testApplicationId "de.test.antennapod"
2019-10-04 11:22:39 +02:00
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2019-05-28 17:26:09 +02:00
2019-11-09 00:06:32 +01:00
def commit = "Unknown commit"
try {
commit = "git rev-parse --short HEAD".execute().text.trim()
2020-04-26 03:03:16 +02:00
} catch (Exception ignore) {
}
2019-11-09 00:06:32 +01:00
buildConfigField "String", "COMMIT_HASH", ('"' + commit + '"')
if (project.hasProperty("podcastindexApiKey")) {
buildConfigField "String", "PODCASTINDEX_API_KEY", '"' + podcastindexApiKey + '"'
buildConfigField "String", "PODCASTINDEX_API_SECRET", '"' + podcastindexApiSecret + '"'
} else {
buildConfigField "String", "PODCASTINDEX_API_KEY", '"XTMMQGA2YZ4WJUBYY4HK"'
buildConfigField "String", "PODCASTINDEX_API_SECRET", '"XAaAhk4^2YBsTE33vdbwbZNj82ZRLABDDqFdKe7x"'
}
2019-11-09 00:06:32 +01:00
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 {
2020-09-28 11:08:41 +02:00
v1SigningEnabled true
v2SigningEnabled true
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"
2020-05-07 17:38:01 +02:00
// debug build has method count over 64k single-dex threshold.
// For building debug build to use on Android < 21 (pre-Android 5) devices,
// you need to manually change class
2020-05-07 17:38:01 +02:00
// de.danoeh.antennapod.PodcastApp to extend MultiDexApplication .
// See Issue #2813
multiDexEnabled true
2020-04-26 03:03:16 +02:00
dexcount {
if (project.hasProperty("enableDexcountInDebug")) {
runOnEachPackage enableDexcountInDebug.toBoolean()
} else { // default to not running dexcount
2020-04-26 03:03:16 +02:00
runOnEachPackage false
}
}
}
release {
resValue "string", "provider_authority", "de.danoeh.antennapod.provider"
2014-11-05 20:40:24 +01:00
minifyEnabled true
shrinkResources true
2019-01-06 00:23:34 +01:00
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard.cfg"
signingConfig signingConfigs.releaseConfig
}
}
packagingOptions {
2015-11-01 17:48:33 +01:00
exclude "META-INF/LICENSE.txt"
exclude "META-INF/NOTICE.txt"
}
lintOptions {
2020-07-16 11:36:37 +02:00
disable 'ObsoleteLintCustomCheck', 'CheckResult', 'UnusedAttribute', 'BatteryLife', 'InflateParams',
'GradleDependency', 'RestrictedApi', 'TrustAllX509TrustManager', 'ExportedReceiver', 'AllowBackup',
'StaticFieldLeak', 'UseCompoundDrawables', 'NestedWeights', 'Overdraw', 'UselessParent', 'TextFields',
'AlwaysShowAction', 'Autofill', 'ClickableViewAccessibility', 'ContentDescription',
'KeyboardInaccessibleWidget', 'LabelFor', 'SetTextI18n', 'HardcodedText', 'RelativeOverlap',
'RtlCompat', 'RtlHardcoded', 'MissingMediaBrowserServiceIntentFilter'
warningsAsErrors true
abortOnError true
}
2015-08-18 17:38:51 +02:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
2018-10-21 22:12:07 +02:00
testOptions {
animationsDisabled = true
}
flavorDimensions "market"
productFlavors {
free {
dimension "market"
}
play {
dimension "market"
}
}
2016-12-31 16:01:48 +01:00
dexOptions {
jumboMode true
}
}
dependencies {
freeImplementation project(":core")
2016-06-08 20:11:26 +02:00
// free build hack: skip some dependencies
if (!doFreeBuild()) {
playImplementation project(":core")
2020-10-10 22:07:26 +02:00
implementation 'com.google.android.play:core:1.8.0'
2016-06-08 20:11:26 +02:00
} else {
System.out.println("app: free build hack, skipping some dependencies")
}
2021-02-07 11:29:39 +01:00
implementation project(':ui:app-start-intent')
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'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
2020-05-07 17:38:01 +02:00
implementation "androidx.media:media:$mediaVersion"
implementation "androidx.preference:preference:$preferenceVersion"
2020-04-26 03:03:16 +02:00
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.viewpager2:viewpager2:1.1.0-alpha01'
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.yqritc:recyclerview-flexibledivider:1.4.0'
implementation 'com.github.shts:TriangleLabelView:1.1.2'
2020-04-26 03:03:16 +02:00
implementation 'com.leinardi.android:speed-dial:3.1.1'
implementation "com.github.AntennaPod:AntennaPod-AudioPlayer:$audioPlayerVersion"
implementation 'com.github.mfietz:fyydlin:v0.5.0'
2019-10-13 23:32:25 +02:00
implementation 'com.github.ByteHamster:SearchPreference:v2.0.0'
2020-05-07 17:38:01 +02:00
implementation 'com.github.skydoves:balloon:1.1.5'
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 {
track = 'alpha'
serviceAccountCredentials = 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']
}