AntennaPod/app/build.gradle

135 lines
4.4 KiB
Groovy
Raw Normal View History

import org.apache.tools.ant.filters.ReplaceTokens
apply plugin: 'com.android.application'
2015-08-18 17:38:51 +02:00
apply plugin: 'me.tatarka.retrolambda'
repositories {
mavenCentral()
}
2015-04-10 11:02:14 +02:00
dependencies {
2014-12-19 19:56:41 +01:00
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:gridlayout-v7:21.0.3'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile('org.shredzone.flattr4j:flattr4j-core:2.12') {
exclude group: 'org.json', module: 'json'
}
compile 'commons-io:commons-io:2.4'
compile 'org.jsoup:jsoup:1.7.3'
2015-07-21 20:04:39 +02:00
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.squareup.okhttp:okhttp:2.3.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.3.0'
2015-01-08 14:04:47 +01:00
compile 'com.squareup.okio:okio:1.2.0'
compile 'de.greenrobot:eventbus:2.4.0'
2015-04-21 21:00:51 +02:00
compile 'com.joanzapata.android:android-iconify:1.0.9'
2015-08-18 17:38:51 +02:00
compile 'io.reactivex:rxandroid:1.0.1'
2015-04-10 11:02:14 +02:00
2014-10-11 17:43:07 +02:00
compile project(':core')
2015-03-14 15:19:06 +01:00
compile project(':library:drag-sort-listview')
}
def getMyVersionName() {
def parsedManifestXml = (new XmlSlurper())
.parse("${projectDir}/src/main/AndroidManifest.xml")
.declareNamespace(android:"http://schemas.android.com/apk/res/android")
return parsedManifestXml.'@android:versionName'
}
def getMyVersionCode() {
def parsedManifestXml = (new XmlSlurper())
.parse("${projectDir}/src/main/AndroidManifest.xml")
.declareNamespace(android:"http://schemas.android.com/apk/res/android")
return parsedManifestXml.'@android:versionCode'.toInteger()
}
android {
2014-10-25 11:24:57 +02:00
compileSdkVersion 21
2014-12-19 19:56:41 +01:00
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 10
2014-10-25 11:24:57 +02:00
targetSdkVersion 21
versionCode getMyVersionCode()
versionName "${getMyVersionName()}"
testApplicationId "de.test.antennapod"
testInstrumentationRunner "de.test.antennapod.AntennaPodTestRunner"
}
signingConfigs {
releaseConfig {
if (project.hasProperty('releaseStoreFile')) {
storeFile file(releaseStoreFile)
} else {
storeFile file('keystore')
}
if (project.hasProperty('releaseStorePassword')) {
storePassword releaseStorePassword
} else {
storePassword "password"
}
if (project.hasProperty('releaseKeyAlias')) {
keyAlias releaseKeyAlias
} else {
keyAlias "alias"
}
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"
def mFlattrAppKey = (project.hasProperty('flattrAppKey')) ? flattrAppKey : "\"\""
def mFlattrAppSecret = (project.hasProperty('flattrAppSecret')) ? flattrAppSecret : "\"\""
debug {
applicationIdSuffix ".debug"
buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey
buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret
}
release {
2014-11-05 20:40:24 +01:00
minifyEnabled true
proguardFile 'proguard.cfg'
signingConfig signingConfigs.releaseConfig
buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey
buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret
}
}
packagingOptions {
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
}
}
// about.html is templatized so that we can automatically insert
// our version string in to it at build time.
task filterAbout {
inputs.files files(['src/main/templates/about.html',
'src/main/AndroidManifest.xml'])
2015-05-03 20:16:32 +02:00
outputs.file 'src/main/assets/about.html'
} << {
copy {
from 'src/main/templates/about.html'
into 'src/main/assets'
filter(ReplaceTokens, tokens: [versionname: android.defaultConfig.versionName,
commit: "git rev-parse --short HEAD".execute().text])
}
}
preBuild.dependsOn filterAbout