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>