kopia lustrzana https://github.com/ge0rg/aprsdroid
build: move custom rules to custom_rules.xml
rodzic
08312e7a09
commit
0257620f25
117
build.xml
117
build.xml
|
|
@ -4,7 +4,7 @@
|
|||
<!-- 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" />
|
||||
<property file="local.properties" />
|
||||
|
||||
<!-- The ant.properties file can be created by you. It is only edited by the
|
||||
'android' tool to add properties to it.
|
||||
|
|
@ -28,6 +28,15 @@
|
|||
-->
|
||||
<property file="ant.properties" />
|
||||
|
||||
<!-- if sdk.dir was not set from one of the property file, then
|
||||
get it from the ANDROID_HOME env var.
|
||||
This must be done before we load project.properties since
|
||||
the proguard config can use sdk.dir -->
|
||||
<property environment="env" />
|
||||
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
|
||||
<isset property="env.ANDROID_HOME" />
|
||||
</condition>
|
||||
|
||||
<!-- The project.properties file is created and updated by the 'android'
|
||||
tool, as well as ADT.
|
||||
|
||||
|
|
@ -41,49 +50,23 @@
|
|||
|
||||
<!-- quick check on sdk.dir -->
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
|
||||
<!-- extension targets. Uncomment the ones where you want to do custom work
|
||||
in between standard targets -->
|
||||
<property name="mapviewxml" value="res/layout/mapview.xml" />
|
||||
<target name="-pre-build">
|
||||
<fail unless="mapsApiKey">You need to add mapsApiKey=... to local.properties</fail>
|
||||
<copy file="mapview.xml.tpl" tofile="${mapviewxml}" overwrite="true">
|
||||
<filterchain>
|
||||
<replacetokens>
|
||||
<token key="apiKey" value="${mapsApiKey}"/>
|
||||
</replacetokens>
|
||||
</filterchain>
|
||||
|
||||
</copy>
|
||||
<tstamp>
|
||||
<format property="build.date" pattern="yyyy-MM-dd" />
|
||||
</tstamp>
|
||||
<exec executable="git" outputproperty="git.revision">
|
||||
<arg line="describe --tags --dirty=+"/>
|
||||
</exec>
|
||||
<copy file="version.xml.tpl" tofile="${resource.absolute.dir}/values/version.xml" overwrite="true">
|
||||
<filterchain>
|
||||
<replacetokens>
|
||||
<token key="build_version" value="${ant.project.name} ${git.revision} ${build.date}"/>
|
||||
</replacetokens>
|
||||
</filterchain>
|
||||
|
||||
</copy>
|
||||
</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" depends="scalac, proguard">
|
||||
</target>
|
||||
<!--
|
||||
Import per project custom build rules if present at the root of the project.
|
||||
This is the place to put custom intermediary targets such as:
|
||||
-pre-build
|
||||
-pre-compile
|
||||
-post-compile (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})
|
||||
-post-package
|
||||
-post-build
|
||||
-pre-clean
|
||||
-->
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- Import the actual build file.
|
||||
|
||||
|
|
@ -103,57 +86,7 @@
|
|||
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 -->
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
|
||||
<target name="check-scalalib">
|
||||
<available file="tools/scala-library.jar" property="have.scalalib"/>
|
||||
<fail unless="have.scalalib">You have to place scala-compiler.jar and scala-library.jar to tools/</fail>
|
||||
</target>
|
||||
<target name="check-scalac">
|
||||
<available file="tools/scala-compiler.jar" property="have.scalac"/>
|
||||
<fail unless="have.scalac">You have to place scala-compiler.jar and scala-library.jar to tools/</fail>
|
||||
</target>
|
||||
|
||||
<target name="scalac" depends="-compile, check-scalalib, check-scalac">
|
||||
<taskdef resource="scala/tools/ant/antlib.xml"
|
||||
classpath="tools/scala-compiler.jar:tools/scala-library.jar:tools/scala-reflect.jar" />
|
||||
<scalac force="changed" deprecation="on"
|
||||
srcdir="${source.absolute.dir}" includes="**/*.scala"
|
||||
bootclasspathref="project.target.class.path"
|
||||
destdir="${out.classes.absolute.dir}">
|
||||
<classpath>
|
||||
<pathelement location="${out.classes.absolute.dir}"/>
|
||||
<fileset dir="tools" includes="*.jar"/>
|
||||
<fileset dir="${jar.libs.dir}" includes="*.jar"/>
|
||||
</classpath>
|
||||
</scalac>
|
||||
</target>
|
||||
|
||||
<target name="check-proguard">
|
||||
<available file="tools/proguard.jar" property="have.proguard"/>
|
||||
<fail unless="have.proguard">ProGuard is required to build! Copy proguard.jar to tools/</fail>
|
||||
</target>
|
||||
|
||||
<property name="optimized.dir" value="${out.absolute.dir}/optimized" />
|
||||
<target name="proguard" depends="scalac, check-proguard">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="tools/proguard.jar" />
|
||||
<mkdir dir="${optimized.dir}" />
|
||||
<proguard configuration="proguard.cfg">
|
||||
-injars ${out.classes.absolute.dir}:${jar.libs.dir}:tools/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties)
|
||||
-outjars ${out.absolute.dir}/classes.min.jar
|
||||
-libraryjars ${toString:project.target.class.path}
|
||||
-printusage ${optimized.dir}/proguard.usage
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
<target name="-dex" depends="-post-compile">
|
||||
<echo>Converting compiled files and external libraries into ${intermediate.dex.file}...</echo>
|
||||
<apply executable="${dx}" failonerror="true" parallel="true">
|
||||
<arg value="--dex" />
|
||||
<arg value="--output=${intermediate.dex.file}" />
|
||||
<fileset dir="${out.absolute.dir}" includes="*.min.jar"/>
|
||||
</apply>
|
||||
</target>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project>
|
||||
|
||||
<property name="mapviewxml" value="res/layout/mapview.xml" />
|
||||
|
||||
<target name="-pre-build">
|
||||
<fail unless="mapsApiKey">You need to add mapsApiKey=... to local.properties</fail>
|
||||
<copy file="mapview.xml.tpl" tofile="${mapviewxml}" overwrite="true">
|
||||
<filterchain>
|
||||
<replacetokens>
|
||||
<token key="apiKey" value="${mapsApiKey}"/>
|
||||
</replacetokens>
|
||||
</filterchain>
|
||||
|
||||
</copy>
|
||||
<tstamp>
|
||||
<format property="build.date" pattern="yyyy-MM-dd" />
|
||||
</tstamp>
|
||||
<exec executable="git" outputproperty="git.revision">
|
||||
<arg line="describe --tags --dirty=+"/>
|
||||
</exec>
|
||||
<copy file="version.xml.tpl" tofile="${resource.absolute.dir}/values/version.xml" overwrite="true">
|
||||
<filterchain>
|
||||
<replacetokens>
|
||||
<token key="build_version" value="${ant.project.name} ${git.revision} ${build.date}"/>
|
||||
</replacetokens>
|
||||
</filterchain>
|
||||
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="check-scalalib">
|
||||
<available file="tools/scala-library.jar" property="have.scalalib"/>
|
||||
<fail unless="have.scalalib">You have to place scala-compiler.jar and scala-library.jar to tools/</fail>
|
||||
</target>
|
||||
<target name="check-scalac">
|
||||
<available file="tools/scala-compiler.jar" property="have.scalac"/>
|
||||
<fail unless="have.scalac">You have to place scala-compiler.jar and scala-library.jar to tools/</fail>
|
||||
</target>
|
||||
|
||||
<target name="scalac" depends="-compile, check-scalalib, check-scalac">
|
||||
<taskdef resource="scala/tools/ant/antlib.xml"
|
||||
classpath="tools/scala-compiler.jar:tools/scala-library.jar:tools/scala-reflect.jar" />
|
||||
<scalac force="changed" deprecation="on"
|
||||
srcdir="${source.absolute.dir}" includes="**/*.scala"
|
||||
bootclasspathref="project.target.class.path"
|
||||
destdir="${out.classes.absolute.dir}">
|
||||
<classpath>
|
||||
<pathelement location="${out.classes.absolute.dir}"/>
|
||||
<fileset dir="tools" includes="*.jar"/>
|
||||
<fileset dir="${jar.libs.dir}" includes="*.jar"/>
|
||||
</classpath>
|
||||
</scalac>
|
||||
</target>
|
||||
|
||||
<!-- proguard is always enabled in APRSdroid -->
|
||||
<target name="-post-compile" depends="scalac, proguard" />
|
||||
|
||||
<target name="proguard" depends="scalac">
|
||||
<property name="proguard.jar" location="${android.tools.dir}/proguard/lib/proguard.jar" />
|
||||
<taskdef name="proguard" classname="proguard.ant.ProGuardTask" classpath="${proguard.jar}" />
|
||||
|
||||
<property name="obfuscate.absolute.dir" location="${out.absolute.dir}/proguard" />
|
||||
<property name="obfuscated.jar.file" value="${obfuscate.absolute.dir}/obfuscated.jar" />
|
||||
<property name="out.dex.input.absolute.dir" value="${obfuscated.jar.file}" />
|
||||
<mkdir dir="${obfuscate.absolute.dir}" />
|
||||
<proguard configuration="proguard.cfg">
|
||||
-injars ${out.classes.absolute.dir}:${jar.libs.dir}:tools/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties)
|
||||
-outjars ${obfuscated.jar.file}
|
||||
-libraryjars ${toString:project.target.class.path}
|
||||
-dump "${obfuscate.absolute.dir}/dump.txt"
|
||||
-printseeds "${obfuscate.absolute.dir}/seeds.txt"
|
||||
-printusage "${obfuscate.absolute.dir}/usage.txt"
|
||||
-printmapping "${obfuscate.absolute.dir}/mapping.txt"
|
||||
</proguard>
|
||||
<path id="out.dex.jar.input.ref" />
|
||||
</target>
|
||||
<target name="-obfuscate" depends="proguard" />
|
||||
|
||||
</project>
|
||||
Ładowanie…
Reference in New Issue