129 lines
4.2 KiB
Groovy
129 lines
4.2 KiB
Groovy
import org.apache.tools.ant.filters.ReplaceTokens
|
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
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'
|
|
compile 'com.squareup.picasso:picasso:2.5.2'
|
|
compile 'com.squareup.okhttp:okhttp:2.3.0'
|
|
compile 'com.squareup.okhttp:okhttp-urlconnection:2.3.0'
|
|
compile 'com.squareup.okio:okio:1.2.0'
|
|
compile 'de.greenrobot:eventbus:2.4.0'
|
|
compile 'com.joanzapata.android:android-iconify:1.0.9'
|
|
compile 'io.reactivex:rxandroid:0.24.0'
|
|
|
|
compile project(':core')
|
|
compile project(':library:drag-sort-listview')
|
|
}
|
|
|
|
def getMyVersionName() {
|
|
def parsedManifestXml = (new XmlSlurper())
|
|
.parse('app/src/main/AndroidManifest.xml')
|
|
.declareNamespace(android:"http://schemas.android.com/apk/res/android")
|
|
return parsedManifestXml.'@android:versionName'
|
|
}
|
|
|
|
def getMyVersionCode() {
|
|
def parsedManifestXml = (new XmlSlurper())
|
|
.parse('app/src/main/AndroidManifest.xml')
|
|
.declareNamespace(android:"http://schemas.android.com/apk/res/android")
|
|
return parsedManifestXml.'@android:versionCode'.toInteger()
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 21
|
|
buildToolsVersion "21.1.2"
|
|
|
|
defaultConfig {
|
|
minSdkVersion 10
|
|
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 {
|
|
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
|
|
}
|
|
}
|
|
|
|
// 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'])
|
|
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,
|
|
versioncode: android.defaultConfig.versionCode.toString()])
|
|
}
|
|
}
|
|
|
|
preBuild.dependsOn filterAbout |