Browse Source

Fix for execution of top level tasks getting delayed by targets.

PR: 31487


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276905 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Reilly 20 years ago
parent
commit
1c48e016c2
5 changed files with 19 additions and 0 deletions
  1. +3
    -0
      WHATSNEW
  2. +5
    -0
      src/etc/testcases/taskdefs/import/importtargetfirst.xml
  3. +4
    -0
      src/etc/testcases/taskdefs/import/targetfirst.xml
  4. +3
    -0
      src/main/org/apache/tools/ant/helper/ProjectHelper2.java
  5. +4
    -0
      src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java

+ 3
- 0
WHATSNEW View File

@@ -26,6 +26,9 @@ Fixed bugs:
* Incorrect task name with invalid "javac" task after a "presetdef.
Bugzilla reports 31389 and 29499.

* Execution of top level tasks in imported files get delayed by targets.
Bugzilla report 31487.

Other changes:
--------------



+ 5
- 0
src/etc/testcases/taskdefs/import/importtargetfirst.xml View File

@@ -0,0 +1,5 @@
<project>
<echo>Importing targetfirst</echo>
<import file="targetfirst.xml"/>
<echo>After importing</echo>
</project>

+ 4
- 0
src/etc/testcases/taskdefs/import/targetfirst.xml View File

@@ -0,0 +1,4 @@
<project>
<target name="first"/>
<echo>After target first</echo>
</project>

+ 3
- 0
src/main/org/apache/tools/ant/helper/ProjectHelper2.java View File

@@ -116,15 +116,18 @@ public class ProjectHelper2 extends ProjectHelper {
// we are in an imported file.
context.setIgnoreProjectTag(true);
Target currentTarget = context.getCurrentTarget();
Target currentImplicit = context.getImplicitTarget();
try {
Target newCurrent = new Target();
newCurrent.setProject(project);
newCurrent.setName("");
context.setCurrentTarget(newCurrent);
context.setImplicitTarget(newCurrent);
parse(project, source, new RootHandler(context, mainHandler));
newCurrent.execute();
} finally {
context.setCurrentTarget(currentTarget);
context.setImplicitTarget(currentImplicit);
}
} else {
// top level file


+ 4
- 0
src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java View File

@@ -142,4 +142,8 @@ public class ImportTest extends BuildFileTest {
}
}

public void testTargetFirst() {
configureProject("src/etc/testcases/taskdefs/import/importtargetfirst.xml");
assertLogContaining("Importing targetfirstAfter target firstAfter importing");
}
}

Loading…
Cancel
Save