diff options
-rw-r--r-- | vdrmanager/build.xml | 104 |
1 files changed, 103 insertions, 1 deletions
diff --git a/vdrmanager/build.xml b/vdrmanager/build.xml index 905ccef..7793805 100644 --- a/vdrmanager/build.xml +++ b/vdrmanager/build.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project name="VdrManagerActivity" default="help"> +<project name="VDR-Manager" default="help"> <!-- The local.properties file is created and updated by the 'android' tool. It contains the path to the SDK. It should *NOT* be checked into @@ -81,5 +81,107 @@ --> <!-- version-tag: 1 --> <import file="${sdk.dir}/tools/ant/build.xml" /> + <tstamp> + <format property="builddatetime" pattern="dd-MM-yyyy_HH.mm"/> + </tstamp> + <xmlproperty file="AndroidManifest.xml" prefix="mymanifest" collapseAttributes="true"/> + + <target name="-set-snapshot-mode" depends="-set-mode-check"> + <property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-release-unsigned.apk" /> + <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-${mymanifest.manifest.android:versionName}-SNAPSHOT-${builddatetime}.apk" /> + + <!-- record the current build target --> + <property name="build.target" value="release" /> + + <property name="build.is.instrumented" value="false" /> + + <!-- release mode is only valid if the manifest does not explicitly + set debuggable to true. default is false. --> + <xpath input="AndroidManifest.xml" expression="/manifest/application/@android:debuggable" + output="build.is.packaging.debug" default="false"/> + + <!-- signing mode: release --> + <property name="build.is.signing.debug" value="false" /> + + <if condition="${build.is.packaging.debug}"> + <then> + <echo>*************************************************</echo> + <echo>**** Android Manifest has debuggable=true ****</echo> + <echo>**** Doing DEBUG packaging with RELEASE keys ****</echo> + <echo>*************************************************</echo> + </then> + <else> + <!-- property only set in release mode. + Useful for if/unless attributes in target node + when using Ant before 1.8 --> + <property name="build.is.mode.release" value="true"/> + </else> + </if> + </target> + + + <target name="-set-release-mode" depends="-set-mode-check"> + <property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-release-unsigned.apk" /> + <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-${mymanifest.manifest.android:versionName}.apk" /> + + <!-- record the current build target --> + <property name="build.target" value="release" /> + + <property name="build.is.instrumented" value="false" /> + + <!-- release mode is only valid if the manifest does not explicitly + set debuggable to true. default is false. --> + <xpath input="AndroidManifest.xml" expression="/manifest/application/@android:debuggable" + output="build.is.packaging.debug" default="false"/> + + <!-- signing mode: release --> + <property name="build.is.signing.debug" value="false" /> + + <if condition="${build.is.packaging.debug}"> + <then> + <echo>*************************************************</echo> + <echo>**** Android Manifest has debuggable=true ****</echo> + <echo>**** Doing DEBUG packaging with RELEASE keys ****</echo> + <echo>*************************************************</echo> + </then> + <else> + <!-- property only set in release mode. + Useful for if/unless attributes in target node + when using Ant before 1.8 --> + <property name="build.is.mode.release" value="true"/> + </else> + </if> + </target> + + <target name="snapshot" + depends="-set-nightly-mode, -release-obfuscation-check, -package, -release-prompt-for-password, -release-nosign" + if="has.keystore" + description="Builds the application. The generated apk file must be signed before + it is published."> + + <!-- only create apk if *not* a library project --> + <do-only-if-not-library elseText="Library project: do not create apk..." > + <sequential> + <property name="out.unaligned.file" location="${out.absolute.dir}/${ant.project.name}-release-unaligned.apk" /> + + <!-- Signs the APK --> + <echo>Signing final apk...</echo> + <signjar + jar="${out.packaged.file}" + signedjar="${out.unaligned.file}" + keystore="${key.store}" + storepass="${key.store.password}" + alias="${key.alias}" + keypass="${key.alias.password}" + verbose="${verbose}" /> + + <!-- Zip aligns the APK --> + <zipalign-helper in.package="${out.unaligned.file}" + out.package="${out.final.file}" /> + <echo>Release Package: ${out.final.file}</echo> + </sequential> + </do-only-if-not-library> + <record-build-info /> + </target> </project> |