aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Gurgul <pgurgul@google.com>2009-09-21 21:40:15 -0700
committerPiotr Gurgul <pgurgul@google.com>2009-09-21 21:44:00 -0700
commit0b61bf67adad884b0447e94780b6de944340bf5f (patch)
treec90a43310d84d2af53a209cfd1eadfbdf964c428
parent567e604060b9150212e8dc1570ae762bac269ac3 (diff)
downloadsdk-0b61bf67adad884b0447e94780b6de944340bf5f.zip
sdk-0b61bf67adad884b0447e94780b6de944340bf5f.tar.gz
sdk-0b61bf67adad884b0447e94780b6de944340bf5f.tar.bz2
Add automatic application package extraction from manifest
Automatic extraction of the application.package property has been added leveradging xpath ant task. This reduces redundancy, removes hardcoded application.package and solves bug with uninstalling test application package. In order to function properly needs removing application.package from build.properties file.
-rw-r--r--scripts/android_rules.xml7
-rw-r--r--scripts/android_test_rules.xml9
2 files changed, 13 insertions, 3 deletions
diff --git a/scripts/android_rules.xml b/scripts/android_rules.xml
index e91dc0b..4d74ae2 100644
--- a/scripts/android_rules.xml
+++ b/scripts/android_rules.xml
@@ -22,9 +22,16 @@
classname="com.android.ant.ApkBuilderTask"
classpathref="android.antlibs" />
+ <taskdef name="xpath"
+ classname="com.android.ant.XPathTask"
+ classpathref="android.antlibs" />
+
<!-- Properties -->
<property name="android.tools.dir" location="${sdk.dir}/tools" />
+ <!-- Name of the application package extracted from manifest file -->
+ <xpath input="AndroidManifest.xml" expression="/manifest/@package"
+ output="application.package" />
<!-- Input directories -->
<property name="source.dir" value="src" />
diff --git a/scripts/android_test_rules.xml b/scripts/android_test_rules.xml
index 14bdb2f..60518df 100644
--- a/scripts/android_test_rules.xml
+++ b/scripts/android_test_rules.xml
@@ -8,11 +8,14 @@
<property name="instrumentation.absolute.dir" location="${instrumentation.dir}" />
<property name="test.runner" value="android.test.InstrumentationTestRunner" />
- <property name="application.package.to.instrument" value="${application.package}.tests" />
+ <!-- Application package of the tested project extracted from its manifest file -->
+ <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml"
+ expression="/manifest/@package" output="tested.application.package" />
<!-- TODO: make it more configurable in the next CL's - now it is default for auto-generated
project -->
- <property name="emma.dump.file" value="/data/data/${application.package}/files/coverage.ec" />
+ <property name="emma.dump.file"
+ value="/data/data/${tested.application.package}/files/coverage.ec" />
<macrodef name="run-tests-helper">
<attribute name="emma.enabled" default="false" />
@@ -28,7 +31,7 @@
<arg value="coverage" />
<arg value="@{emma.enabled}" />
<extra-instrument-args />
- <arg value="${application.package.to.instrument}/${test.runner}" />
+ <arg value="${application.package}/${test.runner}" />
</exec>
</sequential>
</macrodef>