AntennaPod/app/build.gradle

224 lines
8.0 KiB
Groovy
Raw Normal View History

plugins {
id('com.github.triplet.play') version '2.0.0'
}
2015-11-01 17:48:33 +01:00
apply plugin: "com.android.application"
2017-10-22 11:59:15 +02:00
apply plugin: 'com.getkeepsafe.dexcount'
2019-01-27 12:45:32 +01:00
import org.apache.tools.ant.filters.ReplaceTokens
2015-04-10 11:02:14 +02:00
android {
2015-11-01 17:48:33 +01:00
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
2015-11-01 17:48:33 +01:00
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
2017-09-23 16:41:52 +02:00
multiDexEnabled true
// Version code schema:
// "1.2.3-SNAPSHOT" -> 1020300
// "1.2.3-RC4" -> 1020304
// btw I would recommend to autogenerate this
versionCode 1070195
versionName "1.7.1"
testApplicationId "de.test.antennapod"
2018-10-21 22:12:07 +02:00
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
generatedDensities = []
}
signingConfigs {
releaseConfig {
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 {
def STRING = "String"
def FLATTR_APP_KEY = "FLATTR_APP_KEY"
def FLATTR_APP_SECRET = "FLATTR_APP_SECRET"
2015-11-01 17:48:33 +01:00
def mFlattrAppKey = (project.hasProperty("flattrAppKey")) ? flattrAppKey : "\"\""
def mFlattrAppSecret = (project.hasProperty("flattrAppSecret")) ? flattrAppSecret : "\"\""
debug {
applicationIdSuffix ".debug"
resValue "string", "provider_authority", "de.danoeh.antennapod.debug.provider"
buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey
buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret
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
2019-01-06 00:23:34 +01:00
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard.cfg"
signingConfig signingConfigs.releaseConfig
buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey
buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret
}
}
packagingOptions {
2015-11-01 17:48:33 +01:00
exclude "META-INF/LICENSE.txt"
exclude "META-INF/NOTICE.txt"
}
lintOptions {
abortOnError false
}
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")
2016-06-08 20:11:26 +02:00
} else {
System.out.println("app: free build hack, skipping some dependencies")
}
implementation "com.android.support:support-v4:$supportVersion"
implementation "com.android.support:appcompat-v7:$supportVersion"
implementation "com.android.support:design:$supportVersion"
2018-05-04 17:51:12 +02:00
implementation "com.android.support:preference-v14:$supportVersion"
implementation "com.android.support:gridlayout-v7:$supportVersion"
implementation "com.android.support:percent:$supportVersion"
implementation "com.android.support:recyclerview-v7:$supportVersion"
compileOnly 'com.google.android.wearable:wearable:2.2.0'
implementation "org.apache.commons:commons-lang3:$commonslangVersion"
implementation("org.shredzone.flattr4j:flattr4j-core:$flattr4jVersion") {
exclude group: "org.json", module: "json"
}
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 "de.greenrobot:eventbus:$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"
implementation("com.afollestad.material-dialogs:commons:$materialDialogsVersion") {
transitive = true
}
implementation "com.yqritc:recyclerview-flexibledivider:$recyclerviewFlexibledividerVersion"
2018-04-03 12:06:35 +02:00
implementation("com.githang:viewpagerindicator:2.5.1@aar") {
exclude module: "support-v4"
}
implementation "com.github.shts:TriangleLabelView:$triangleLabelViewVersion"
implementation "com.github.AntennaPod:AntennaPod-AudioPlayer:$audioPlayerVersion"
2016-10-30 12:55:37 +01:00
2018-09-30 20:33:40 +02:00
implementation 'com.github.mfietz:fyydlin:v0.4.1'
2018-05-18 11:54:53 +02:00
implementation 'com.github.ByteHamster:SearchPreference:v1.0.8'
implementation "org.awaitility:awaitility:$awaitilityVersion"
androidTestImplementation "com.jayway.android.robotium:robotium-solo:$robotiumSoloVersion"
2018-10-21 22:12:07 +02:00
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
}
play {
2019-01-16 23:15:34 +01:00
if (project.hasProperty("antennaPodServiceAccountEmail")) {
serviceAccountEmail = antennaPodServiceAccountEmail
} else {
serviceAccountEmail = '522080222319-compute@developer.gserviceaccount.com'
}
if (project.hasProperty("antennaPodPk12File")) {
serviceAccountCredentials = file(antennaPodPk12File)
2019-01-16 23:15:34 +01:00
} else {
serviceAccountCredentials = file('../serviceaccount-c3d7d0f61387.p12')
2019-01-16 23:15:34 +01:00
}
}
// about.html is templatized so that we can automatically insert
// our version string in to it at build time.
task filterAbout {
2015-11-01 17:48:33 +01:00
inputs.files files(["src/main/templates/about.html",
"src/main/AndroidManifest.xml"])
outputs.file "src/main/assets/about.html"
2017-09-23 09:22:32 +02:00
} doLast {
copy {
2015-11-01 17:48:33 +01:00
from "src/main/templates/about.html"
into "src/main/assets"
filter(ReplaceTokens, tokens: [versionname: android.defaultConfig.versionName,
2016-09-04 21:14:29 +02:00
commit : "git rev-parse --short HEAD".execute().text,
year : new Date().format('yyyy')])
}
}
task copyTextFiles(type: Copy) {
from "../CONTRIBUTORS"
from "../LICENSE"
into "src/main/assets/"
rename { String fileName ->
fileName + ".txt"
}
}
preBuild.dependsOn filterAbout, copyTextFiles
2016-05-16 08:42:43 +02:00
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint" << "-Xlint:-deprecation" << "-Xlint:-serial"
}
}
}