aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2011-10-19 00:38:47 -0700
committerKenny Root <kenny@the-b.org>2011-10-19 01:03:51 -0700
commit4476f11494384eef55f8fd76a54d988f51745702 (patch)
treef847ef9a71e38e6f12ed0dd343a46a632afc9cda /tests
parent4f4271a5166c5393a55d44e5e4d247a296eb3e45 (diff)
downloadconnectbot-4476f11494384eef55f8fd76a54d988f51745702.tar.gz
connectbot-4476f11494384eef55f8fd76a54d988f51745702.tar.bz2
connectbot-4476f11494384eef55f8fd76a54d988f51745702.zip
Update build script to new tools
Diffstat (limited to 'tests')
-rw-r--r--tests/ant.properties21
-rw-r--r--tests/build.properties16
-rw-r--r--tests/build.xml86
-rw-r--r--tests/project.properties (renamed from tests/default.properties)2
4 files changed, 74 insertions, 51 deletions
diff --git a/tests/ant.properties b/tests/ant.properties
new file mode 100644
index 0000000..366f276
--- /dev/null
+++ b/tests/ant.properties
@@ -0,0 +1,21 @@
+# This file is used to override default values used by the Ant build system.
+#
+# This file must be checked in Version Control Systems, as it is
+# integral to the build system of your project.
+
+# This file is only used by the Ant script.
+
+# You can use this to override default values such as
+# 'source.dir' for the location of your java source folder and
+# 'out.dir' for the location of your output folder.
+
+# You can also use it define how the release builds are signed by declaring
+# the following properties:
+# 'key.store' for the location of your keystore and
+# 'key.alias' for the name of the key to use.
+# The password will be asked during the build when you use the 'release' target.
+
+tested.project.dir=..
+source-folder=src
+application-package=org.connectbot
+out-folder=bin
diff --git a/tests/build.properties b/tests/build.properties
deleted file mode 100644
index 4d72305..0000000
--- a/tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked in Version Control Systems, as it is
-# integral to the build system of your project.
-
-# The name of your application package as defined in the manifest.
-# Used by the 'uninstall' rule.
-application-package=org.connectbot
-
-# The name of the source folder.
-source-folder=src
-
-# The name of the output folder.
-out-folder=bin
-
-tested.project.dir=..
diff --git a/tests/build.xml b/tests/build.xml
index cb7acbb..b508b66 100644
--- a/tests/build.xml
+++ b/tests/build.xml
@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="ConnectBotTests" default="help">
+<project name="tests" 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. -->
- <property file="local.properties" />
+ <!-- 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 build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
+ <!-- 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
@@ -17,6 +16,9 @@
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.
@@ -24,17 +26,24 @@
application and should be checked into Version Control Systems.
-->
- <property file="build.properties" />
+ <property file="ant.properties" />
- <!-- The default.properties file is created and updated by the 'android'
+ <!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
+
+ This contains project specific properties such as project target, and library
+ dependencies. Lower level build properties are stored in ant.properties
+ (or in .classpath for Eclipse projects).
+
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
+ <loadproperties srcFile="project.properties" />
-
- <!-- Required pre-setup import -->
- <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
+ <!-- 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
@@ -45,14 +54,26 @@
<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}]
+ /* 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>
-->
- <target name="coverage-xml" depends="-set-coverage-classpath, -install-instrumented, install">
+ <target name="coverage-xml" depends="-test-project-check">
+
+ <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
+
+ <property name="test.runner" value="android.test.InstrumentationTestRunner" />
+
+ <!-- Application package of the tested project extracted from its manifest file -->
+ <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml"
+ expression="/manifest/@package" output="tested.manifest.package" />
+
+ <property name="emma.dump.file"
+ value="/data/data/${tested.manifest.package}/coverage.ec" />
+
<run-tests-helper emma.enabled="true">
<extra-instrument-args>
<arg value="-e" />
@@ -85,28 +106,25 @@
<echo>Saving the report file in ${basedir}/coverage/coverage.xml</echo>
</target>
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/tools/ant/
- Depending on the project type it can be either:
- - main_rules.xml
- - lib_rules.xml
- - test_rules.xml
+ <!-- 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
- <setup> task.
+ <import> task.
- customize it to your needs.
- - Customize the whole script.
+ - Customize the whole content of build.xml
- copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
+ 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"
-->
- <setup />
+ <!-- version-tag: 1 -->
+ <import file="${sdk.dir}/tools/ant/build.xml" />
</project>
diff --git a/tests/default.properties b/tests/project.properties
index 6c3a26d..d1f88bc 100644
--- a/tests/default.properties
+++ b/tests/project.properties
@@ -4,7 +4,7 @@
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
+# "ant.properties", and override values to adapt the script to your
# project structure.
# Indicates whether an apk should be generated for each density.