Mercurial > 510Connectbot
diff build.xml @ 0:0ce5cc452d02
initial version
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 22 May 2014 10:41:19 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build.xml Thu May 22 10:41:19 2014 -0700 @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="510Connectbot" 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 + Version Control Systems. --> + <loadproperties srcFile="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: custom --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +<!-- Begin custom ConnectBot stuff --> + + <!-- Output directory for .po files. --> + <property name="locale.dir" value="locale" /> + + <!-- Default args to pass to a2po for .po generation. --> + <property name="a2po.args" value="--groups strings --template fortune/fortune.pot --layout 'fortune/fortune-%(locale)s.po'"/> + + <!-- File names for launchpad translations. --> + <property name="launchpad.export.file" value="launchpad-export.tar.gz"/> + <property name="launchpad.import.file" value="launchpad-import.tar.gz"/> + + <target name="-pre-build" depends="update-version"/> + + <target name="help"> + <!-- displays starts at col 13 + |13 80| --> + <echo>Android Ant Build. Available targets:</echo> + <echo> help: Displays this help.</echo> + <echo> clean: Removes output files created by other targets.</echo> + <echo> compile: Compiles project's .java files into .class files.</echo> + <echo> debug: Builds the application and signs it with a debug key.</echo> + <echo> release: Builds the application. The generated apk file must be</echo> + <echo> signed before it is published.</echo> + <echo> install: Installs/reinstalls the debug package onto a running</echo> + <echo> emulator or device.</echo> + <echo> If the application was previously installed, the</echo> + <echo> signatures must match.</echo> + <echo> uninstall: Uninstalls the application from a running emulator or</echo> + <echo> device.</echo> + <echo> translations-import: Import translations from a Launchpad-style</echo> + <echo> Rosetta translation.</echo> + <echo> translations-export: Export translations to a Launchpad-style</echo> + <echo> Rosetta translation.</echo> + + </target> + + <target name="update-version" description="Updates the Version.java file with current Mercurial revision"> + <echo>Updating resources with Mercurial revision and build date...</echo> + + <tstamp> + <format property="build.date" pattern="yyyy-MM-dd" /> + </tstamp> + + <!-- Get the version name from the android manifest, will en up in property ${manifest.android:versionName} --> + <xpath input="AndroidManifest.xml" expression="/manifest/@android:versionName" + output="manifest.version.name" /> + + <!-- find global id of the current mercurial commit --> + <exec executable="hg" outputproperty="hg.revision"> + <arg line="id --id"/> + </exec> + + <!-- write out to res/values/version.xml --> + <echo file="${resource.absolute.dir}/values/version.xml" encoding="utf8"><![CDATA[<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="msg_version" translatable="false">${ant.project.name} ${manifest.version.name} (${hg.revision} ${build.date})</string> +</resources> +]]></echo> + + <echo>Updated "msg_version" to: ${ant.project.name} ${manifest.version.name} (${hg.revision} ${build.date})</echo> + </target> + + <!-- Translations come from launchpad.net and are placed in the + locale/ subdirectory. --> + <target name="translations-import"> + <untar src="${launchpad.export.file}" dest="${locale.dir}" compression="gzip"/> + <exec executable="a2po" failonerror="true"> + <arg value="import"/> + <arg line="${a2po.args}"/> + </exec> + </target> + + <!-- Translations are to be uploaded to launchpad.net as a tar ball + created from the locale/ subdirectory. --> + <target name="translations-export"> + <exec executable="a2po" failonerror="true"> + <arg value="export"/> + <arg line="${a2po.args}"/> + </exec> + <tar destfile="${launchpad.import.file}" + compression="gzip" + basedir="${locale.dir}" + includes="**/*.pot **/*.po" /> + </target> + + <target name="-check-ndk"> + <fail + message="ndk.dir is missing. Make sure to put it in local.properties" + unless="ndk.dir" + /> + </target> + + <target name="native-build" depends="-check-ndk"> + <exec executable="${ndk.dir}/ndk-build" failonerror="true" /> + </target> + + <target name="native-clean" depends="-check-ndk"> + <exec executable="${ndk.dir}/ndk-build" failonerror="true"> + <arg value="clean" /> + </exec> + </target> + + <property name="lint" location="${android.tools.dir}/lint${bat}" /> + + <target name="lint-xml"> + <exec executable="${lint}"> + <arg value="--xml" /> + <arg value="lint-results.xml" /> + <arg path="${basedir}" /> + </exec> + </target> + + <target name="lint-html"> + <exec executable="${lint}"> + <arg value="--html" /> + <arg value="lint-results.html" /> + <arg path="${basedir}" /> + </exec> + </target> + +<!-- End custom ConnectBot stuff --> + +</project>