diff options
Diffstat (limited to 'anttasks/src')
-rw-r--r-- | anttasks/src/com/android/ant/SetupTask.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/anttasks/src/com/android/ant/SetupTask.java b/anttasks/src/com/android/ant/SetupTask.java index ffe8314..27d73d6 100644 --- a/anttasks/src/com/android/ant/SetupTask.java +++ b/anttasks/src/com/android/ant/SetupTask.java @@ -58,7 +58,8 @@ import javax.xml.xpath.XPathExpressionException; */ public final class SetupTask extends ImportTask { private final static String ANDROID_RULES = "android_rules.xml"; - + // additional android rules for test project - depends on android_rules.xml + private final static String ANDROID_TEST_RULES = "android_test_rules.xml"; // ant property with the path to the android.jar private final static String PROPERTY_ANDROID_JAR = "android.jar"; // LEGACY - compatibility with 1.6 and before @@ -103,6 +104,13 @@ public final class SetupTask extends ImportTask { // get the target property value String targetHashString = antProject.getProperty(ProjectProperties.PROPERTY_TARGET); + + boolean isTestProject = false; + + if (antProject.getProperty("tested.project.dir") != null) { + isTestProject = true; + } + if (targetHashString == null) { throw new BuildException("Android Target is not set."); } @@ -215,17 +223,21 @@ public final class SetupTask extends ImportTask { if (mDoImport) { // make sure the file exists. File templates = new File(templateFolder); + if (templates.isDirectory() == false) { throw new BuildException(String.format("Template directory '%s' is missing.", templateFolder)); } + String importedRulesFileName = isTestProject ? ANDROID_TEST_RULES : ANDROID_RULES; + // now check the rules file exists. - File rules = new File(templateFolder, ANDROID_RULES); + File rules = new File(templateFolder, importedRulesFileName); + if (rules.isFile() == false) { throw new BuildException(String.format("Build rules file '%s' is missing.", templateFolder)); - } + } // set the file location to import setFile(rules.getAbsolutePath()); |