External version variables, lombok AST

This commit is contained in:
Martin Fietz 2015-11-01 17:48:33 +01:00
parent b1b1df3cdc
commit 0049fbec27
4 changed files with 107 additions and 88 deletions

View File

@ -1,7 +1,7 @@
import org.apache.tools.ant.filters.ReplaceTokens import org.apache.tools.ant.filters.ReplaceTokens
apply plugin: 'com.android.application' apply plugin: "com.android.application"
apply plugin: 'me.tatarka.retrolambda' apply plugin: "me.tatarka.retrolambda"
repositories { repositories {
maven { url "https://jitpack.io" } maven { url "https://jitpack.io" }
@ -9,56 +9,56 @@ repositories {
} }
dependencies { dependencies {
compile 'com.android.support:support-v4:22.2.1' compile "com.android.support:support-v4:$supportVersion"
compile 'com.android.support:appcompat-v7:22.2.1' compile "com.android.support:appcompat-v7:$supportVersion"
compile 'com.android.support:gridlayout-v7:22.2.1' compile "com.android.support:gridlayout-v7:$supportVersion"
compile 'com.android.support:cardview-v7:22.2.1' compile "com.android.support:cardview-v7:$supportVersion"
compile 'com.android.support:design:22.2.1' compile "com.android.support:design:$supportVersion"
compile 'org.apache.commons:commons-lang3:3.4' compile "org.apache.commons:commons-lang3:$commonslangVersion"
compile('org.shredzone.flattr4j:flattr4j-core:2.12') { compile("org.shredzone.flattr4j:flattr4j-core:$flattr4jVersion") {
exclude group: 'org.json', module: 'json' exclude group: "org.json", module: "json"
} }
compile 'commons-io:commons-io:2.4' compile "commons-io:commons-io:$commonsioVersion"
compile 'org.jsoup:jsoup:1.7.3' compile "org.jsoup:jsoup:$jsoupVersion"
compile 'com.github.bumptech.glide:glide:3.6.1' compile "com.github.bumptech.glide:glide:$glideVersion"
compile 'com.squareup.okhttp:okhttp:2.5.0' compile "com.squareup.okhttp:okhttp:$okhttpVersion"
compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0' compile "com.squareup.okhttp:okhttp-urlconnection:$okhttpVersion"
compile 'com.squareup.okio:okio:1.6.0' compile "com.squareup.okio:okio:$okioVersion"
compile 'de.greenrobot:eventbus:2.4.0' compile "de.greenrobot:eventbus:$eventbusVersion"
compile 'io.reactivex:rxandroid:1.0.1' compile "io.reactivex:rxandroid:$rxAndroidVersion"
compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.0' compile "com.joanzapata.iconify:android-iconify-fontawesome:2.1.0"
compile('com.afollestad.material-dialogs:core:0.8.5.0@aar') { compile("com.afollestad.material-dialogs:core:0.8.5.0@aar") {
transitive = true; transitive = true;
exclude group: 'com.android.support', module: 'appcompat-v7'; exclude group: "com.android.support", module: "appcompat-v7";
} }
compile 'com.github.AntennaPod:AntennaPod-AudioPlayer:v1.0.2' compile "com.github.AntennaPod:AntennaPod-AudioPlayer:v1.0.2"
compile project(':core') compile project(":core")
compile project(':library:drag-sort-listview') compile project(":library:drag-sort-listview")
} }
def getMyVersionName() { def getMyVersionName() {
def parsedManifestXml = (new XmlSlurper()) def parsedManifestXml = (new XmlSlurper())
.parse("${projectDir}/src/main/AndroidManifest.xml") .parse("${projectDir}/src/main/AndroidManifest.xml")
.declareNamespace(android:"http://schemas.android.com/apk/res/android") .declareNamespace(android:"http://schemas.android.com/apk/res/android")
return parsedManifestXml.'@android:versionName' return parsedManifestXml."@android:versionName"
} }
def getMyVersionCode() { def getMyVersionCode() {
def parsedManifestXml = (new XmlSlurper()) def parsedManifestXml = (new XmlSlurper())
.parse("${projectDir}/src/main/AndroidManifest.xml") .parse("${projectDir}/src/main/AndroidManifest.xml")
.declareNamespace(android:"http://schemas.android.com/apk/res/android") .declareNamespace(android:"http://schemas.android.com/apk/res/android")
return parsedManifestXml.'@android:versionCode'.toInteger() return parsedManifestXml."@android:versionCode".toInteger()
} }
android { android {
compileSdkVersion 22 compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion "22.0.1" buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig { defaultConfig {
minSdkVersion 10 minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion 22 targetSdkVersion rootProject.ext.targetSdkVersion
versionCode getMyVersionCode() versionCode getMyVersionCode()
versionName "${getMyVersionName()}" versionName "${getMyVersionName()}"
testApplicationId "de.test.antennapod" testApplicationId "de.test.antennapod"
@ -67,22 +67,22 @@ android {
signingConfigs { signingConfigs {
releaseConfig { releaseConfig {
if (project.hasProperty('releaseStoreFile')) { if (project.hasProperty("releaseStoreFile")) {
storeFile file(releaseStoreFile) storeFile file(releaseStoreFile)
} else { } else {
storeFile file('keystore') storeFile file("keystore")
} }
if (project.hasProperty('releaseStorePassword')) { if (project.hasProperty("releaseStorePassword")) {
storePassword releaseStorePassword storePassword releaseStorePassword
} else { } else {
storePassword "password" storePassword "password"
} }
if (project.hasProperty('releaseKeyAlias')) { if (project.hasProperty("releaseKeyAlias")) {
keyAlias releaseKeyAlias keyAlias releaseKeyAlias
} else { } else {
keyAlias "alias" keyAlias "alias"
} }
if (project.hasProperty('releaseKeyPassword')) { if (project.hasProperty("releaseKeyPassword")) {
keyPassword releaseKeyPassword keyPassword releaseKeyPassword
} else { } else {
keyPassword "password" keyPassword "password"
@ -94,8 +94,8 @@ android {
def STRING = "String" def STRING = "String"
def FLATTR_APP_KEY = "FLATTR_APP_KEY" def FLATTR_APP_KEY = "FLATTR_APP_KEY"
def FLATTR_APP_SECRET = "FLATTR_APP_SECRET" def FLATTR_APP_SECRET = "FLATTR_APP_SECRET"
def mFlattrAppKey = (project.hasProperty('flattrAppKey')) ? flattrAppKey : "\"\"" def mFlattrAppKey = (project.hasProperty("flattrAppKey")) ? flattrAppKey : "\"\""
def mFlattrAppSecret = (project.hasProperty('flattrAppSecret')) ? flattrAppSecret : "\"\"" def mFlattrAppSecret = (project.hasProperty("flattrAppSecret")) ? flattrAppSecret : "\"\""
debug { debug {
applicationIdSuffix ".debug" applicationIdSuffix ".debug"
@ -104,7 +104,7 @@ android {
} }
release { release {
minifyEnabled true minifyEnabled true
proguardFile 'proguard.cfg' proguardFile "proguard.cfg"
signingConfig signingConfigs.releaseConfig signingConfig signingConfigs.releaseConfig
buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey buildConfigField STRING, FLATTR_APP_KEY, mFlattrAppKey
buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret buildConfigField STRING, FLATTR_APP_SECRET, mFlattrAppSecret
@ -112,8 +112,8 @@ android {
} }
packagingOptions { packagingOptions {
exclude 'META-INF/LICENSE.txt' exclude "META-INF/LICENSE.txt"
exclude 'META-INF/NOTICE.txt' exclude "META-INF/NOTICE.txt"
} }
lintOptions { lintOptions {
@ -129,13 +129,13 @@ android {
// about.html is templatized so that we can automatically insert // about.html is templatized so that we can automatically insert
// our version string in to it at build time. // our version string in to it at build time.
task filterAbout { task filterAbout {
inputs.files files(['src/main/templates/about.html', inputs.files files(["src/main/templates/about.html",
'src/main/AndroidManifest.xml']) "src/main/AndroidManifest.xml"])
outputs.file 'src/main/assets/about.html' outputs.file "src/main/assets/about.html"
} << { } << {
copy { copy {
from 'src/main/templates/about.html' from "src/main/templates/about.html"
into 'src/main/assets' into "src/main/assets"
filter(ReplaceTokens, tokens: [versionname: android.defaultConfig.versionName, filter(ReplaceTokens, tokens: [versionname: android.defaultConfig.versionName,
commit: "git rev-parse --short HEAD".execute().text]) commit: "git rev-parse --short HEAD".execute().text])
} }

View File

@ -5,11 +5,12 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:1.3.1' classpath "com.android.tools.build:gradle:1.3.1"
classpath 'me.tatarka:gradle-retrolambda:3.2.2' classpath "me.tatarka:gradle-retrolambda:3.2.3"
classpath "me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2"
// NOTE: Do not place your application dependencies here; they belong // Exclude the version that the android plugin depends on.
// in the individual module build.gradle files configurations.classpath.exclude group: "com.android.tools.external.lombok"
} }
} }
@ -19,10 +20,10 @@ allprojects {
} }
} }
// Disable predex if requested (we can't predex in Circle CI // Disable predex if requested (we can"t predex in Circle CI
// See http://tools.android.com/tech-docs/new-build-system/tips#TOC-Improving-Build-Server-performance // See http://tools.android.com/tech-docs/new-build-system/tips#TOC-Improving-Build-Server-performance
// and https://circleci.com/docs/android // and https://circleci.com/docs/android
project.ext.preDexLibs = !project.hasProperty('disablePreDex') project.ext.preDexLibs = !project.hasProperty("disablePreDex")
subprojects { subprojects {
project.plugins.whenPluginAdded { plugin -> project.plugins.whenPluginAdded { plugin ->
@ -34,6 +35,24 @@ subprojects {
} }
} }
project.ext {
compileSdkVersion = 22
buildToolsVersion = "22.0.1"
minSdkVersion = 10
targetSdkVersion = 22
supportVersion = "22.2.1"
commonsioVersion = "2.4"
commonslangVersion = "3.4"
eventbusVersion = "2.4.0"
flattr4jVersion = "2.12"
glideVersion = "3.6.1"
jsoupVersion = "1.7.3"
rxAndroidVersion = "1.0.1"
okhttpVersion = "2.5.0"
okioVersion = "1.6.0"
}
task wrapper(type: Wrapper) { task wrapper(type: Wrapper) {
gradleVersion = '2.4' gradleVersion = "2.4"
} }

View File

@ -1,13 +1,13 @@
apply plugin: 'com.android.library' apply plugin: "com.android.library"
apply plugin: 'me.tatarka.retrolambda' apply plugin: "me.tatarka.retrolambda"
android { android {
compileSdkVersion 22 compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion "22.0.1" buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig { defaultConfig {
minSdkVersion 10 minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion 22 targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
testApplicationId "de.danoeh.antennapod.core.tests" testApplicationId "de.danoeh.antennapod.core.tests"
@ -16,13 +16,13 @@ android {
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
} }
} }
packagingOptions { packagingOptions {
exclude 'META-INF/LICENSE.txt' exclude "META-INF/LICENSE.txt"
exclude 'META-INF/NOTICE.txt' exclude "META-INF/NOTICE.txt"
} }
compileOptions { compileOptions {
@ -38,24 +38,24 @@ repositories {
} }
dependencies { dependencies {
compile 'com.android.support:support-v4:22.2.1' compile "com.android.support:support-v4:$supportVersion"
compile 'com.android.support:appcompat-v7:22.2.1' compile "com.android.support:appcompat-v7:$supportVersion"
compile 'com.android.support:design:22.2.1' compile "com.android.support:design:$supportVersion"
compile 'org.apache.commons:commons-lang3:3.4' compile "org.apache.commons:commons-lang3:$commonslangVersion"
compile ('org.shredzone.flattr4j:flattr4j-core:2.12') { compile ("org.shredzone.flattr4j:flattr4j-core:$flattr4jVersion") {
exclude group: 'org.json', module: 'json' exclude group: "org.json", module: "json"
} }
compile 'commons-io:commons-io:2.4' compile "commons-io:commons-io:$commonsioVersion"
compile 'com.jayway.android.robotium:robotium-solo:5.5.2' compile "com.jayway.android.robotium:robotium-solo:5.5.2"
compile 'org.jsoup:jsoup:1.7.3' compile "org.jsoup:jsoup:$jsoupVersion"
compile 'com.github.bumptech.glide:glide:3.6.1' compile "com.github.bumptech.glide:glide:$glideVersion"
compile 'com.github.bumptech.glide:okhttp-integration:1.3.1' compile "com.github.bumptech.glide:okhttp-integration:1.3.1"
compile 'com.squareup.okhttp:okhttp:2.5.0' compile "com.squareup.okhttp:okhttp:$okhttpVersion"
compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0' compile "com.squareup.okhttp:okhttp-urlconnection:$okhttpVersion"
compile 'com.squareup.okio:okio:1.6.0' compile "com.squareup.okio:okio:$okioVersion"
compile 'com.nineoldandroids:library:2.4.0' compile "com.nineoldandroids:library:2.4.0"
compile 'de.greenrobot:eventbus:2.4.0' compile "de.greenrobot:eventbus:$eventbusVersion"
compile 'io.reactivex:rxandroid:1.0.1' compile "io.reactivex:rxandroid:$rxAndroidVersion"
compile 'com.github.AntennaPod:AntennaPod-AudioPlayer:v1.0.2' compile "com.github.AntennaPod:AntennaPod-AudioPlayer:v1.0.2"
} }

View File

@ -1,19 +1,19 @@
apply plugin: 'com.android.library' apply plugin: "com.android.library"
android { android {
compileSdkVersion 21 compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion "21.1.2" buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig { defaultConfig {
minSdkVersion 10 minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion 21 targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 4 versionCode 4
versionName "0.6.1" versionName "0.6.1"
} }
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
} }
} }
@ -25,6 +25,6 @@ android {
} }
dependencies { dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) compile fileTree(dir: "libs", include: ["*.jar"])
compile 'com.android.support:support-v4:21.0.3' compile "com.android.support:support-v4:$supportVersion"
} }