summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTom Hennen <tom.hennen@gmail.com>2015-05-03 10:29:18 -0400
committerTom Hennen <tom.hennen@gmail.com>2015-05-03 10:29:18 -0400
commitb79c0926e53a90d3f1ac5d065f24bb93f091c7fa (patch)
treeb5f1a13d3f48dca9701cb61b9f4c4482373bf29c /app
parent4e78205e624b6f3b19272c2a04f02d14f44875fd (diff)
downloadAntennaPod-b79c0926e53a90d3f1ac5d065f24bb93f091c7fa.zip
populating the version name and code in about.html at build time
Diffstat (limited to 'app')
-rw-r--r--app/build.gradle37
-rw-r--r--app/src/main/AndroidManifest.xml2
-rw-r--r--app/src/main/assets/.gitignore2
-rw-r--r--app/src/main/templates/about.html (renamed from app/src/main/assets/about.html)2
4 files changed, 41 insertions, 2 deletions
diff --git a/app/build.gradle b/app/build.gradle
index d85803538..4561dd930 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,3 +1,5 @@
+import org.apache.tools.ant.filters.ReplaceTokens
+
apply plugin: 'com.android.application'
repositories {
@@ -24,6 +26,20 @@ dependencies {
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"
@@ -31,6 +47,8 @@ android {
defaultConfig {
minSdkVersion 10
targetSdkVersion 21
+ versionCode getMyVersionCode()
+ versionName "${getMyVersionName()}"
testApplicationId "de.test.antennapod"
testInstrumentationRunner "de.test.antennapod.AntennaPodTestRunner"
}
@@ -89,4 +107,23 @@ android {
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/assests/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()])
+ }
+}
+
+gradle.projectsEvaluated {
+ preBuild.dependsOn filterAbout
} \ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7a4c8366e..97f8bbdad 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.danoeh.antennapod"
android:versionCode="51"
- android:versionName="1.1.1">
+ android:versionName="1.2">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
diff --git a/app/src/main/assets/.gitignore b/app/src/main/assets/.gitignore
new file mode 100644
index 000000000..328840cfc
--- /dev/null
+++ b/app/src/main/assets/.gitignore
@@ -0,0 +1,2 @@
+# this file is generated automatically
+about.html
diff --git a/app/src/main/assets/about.html b/app/src/main/templates/about.html
index af7297564..df7a05b70 100644
--- a/app/src/main/assets/about.html
+++ b/app/src/main/templates/about.html
@@ -41,7 +41,7 @@
<div id="header" align="center">
<img src="logo.png" alt="Logo" width="100px" height="100px"/>
- <p>AntennaPod, Version 1.1</p>
+ <p>AntennaPod, Version @versionname@, Build @versioncode@</p>
<p>Copyright © 2014 Daniel Oeh</p>