Fast resolved, Peter :) Jan
> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Friday, February 27, 2004 12:45 PM > To: [EMAIL PROTECTED] > Subject: cvs commit: ant WHATSNEW build.xml > > > peterreilly 2004/02/27 03:45:15 > > Modified: src/main/org/apache/tools/ant/helper > ProjectHelper2.java > src/testcases/org/apache/tools/ant ProjectTest.java > . WHATSNEW build.xml > Log: > Fix for duplicate targets in the build file. > In ant 1.5 these were not allowed. > In ant 1.6, with import file's targets being allowed to > be overridden, duplicate targets where incorrectly allowed > in normal build files. > The fix just checks if the duplicate target is defined > in an imported file or in a "main" file. > Reported by: Dominique Devienne > See: http://marc.theaimsgroup.com/?t=107705039100004&r=1&w=2 > > Revision Changes Path > 1.42 +8 -0 > ant/src/main/org/apache/tools/ant/helper/ProjectHelper2.java > > Index: ProjectHelper2.java > =================================================================== > RCS file: > /home/cvs/ant/src/main/org/apache/tools/ant/helper/ProjectHelp > er2.java,v > retrieving revision 1.41 > retrieving revision 1.42 > diff -u -r1.41 -r1.42 > --- ProjectHelper2.java 9 Feb 2004 21:05:18 -0000 1.41 > +++ ProjectHelper2.java 27 Feb 2004 11:45:14 -0000 1.42 > @@ -804,6 +804,14 @@ > > // If the name has already been defined ( > import for example ) > if (currentTargets.containsKey(name)) { > + if (!context.isIgnoringProjectTag()) { > + // not in an import'ed file > + throw new BuildException( > + "Duplicate target '" + name + "'", > + new > Location(context.getLocator().getSystemId(), > + > context.getLocator().getLineNumber(), > + > context.getLocator().getColumnNumber())); > + } > // Alter the name. > if (context.getCurrentProjectName() != null) { > String newName = > context.getCurrentProjectName() > > > > 1.24 +10 -3 > ant/src/testcases/org/apache/tools/ant/ProjectTest.java > > Index: ProjectTest.java > =================================================================== > RCS file: > /home/cvs/ant/src/testcases/org/apache/tools/ant/ProjectTest.java,v > retrieving revision 1.23 > retrieving revision 1.24 > diff -u -r1.23 -r1.24 > --- ProjectTest.java 20 Feb 2004 12:24:04 -0000 1.23 > +++ ProjectTest.java 27 Feb 2004 11:45:14 -0000 1.24 > @@ -206,8 +206,15 @@ > > public void testDuplicateTargets() { > // fail, because buildfile contains two targets > with the same name > - BFT bft = new BFT("", "core/duplicate-target.xml"); > - bft.expectBuildException("twice", "Duplicate target"); > + try { > + BFT bft = new BFT("", "core/duplicate-target.xml"); > + } catch (BuildException ex) { > + assertEquals("specific message", > + "Duplicate target 'twice'", > + ex.getMessage()); > + return; > + } > + fail("Should throw BuildException about duplicate target"); > } > > public void testDuplicateTargetsImport() { > @@ -265,4 +272,4 @@ > class DummyTaskPackage extends Task { > public DummyTaskPackage() {} > public void execute() {} > -} > \ No newline at end of file > +} > > > > 1.556 +5 -1 ant/WHATSNEW > > Index: WHATSNEW > =================================================================== > RCS file: /home/cvs/ant/WHATSNEW,v > retrieving revision 1.555 > retrieving revision 1.556 > diff -u -r1.555 -r1.556 > --- WHATSNEW 25 Feb 2004 13:02:52 -0000 1.555 > +++ WHATSNEW 27 Feb 2004 11:45:15 -0000 1.556 > @@ -53,7 +53,11 @@ > > * MacroDef did not allow attributes named 'description'. > Bugzilla Report 27175. > > -* Throw build exception if name attribute missing from > patternset. Bugzilla Report 25982. > +* Throw build exception if name attribute missing from > patternset#NameEntry. > + Bugzilla Report 25982. > + > +* Throw build exception if target repeated in build file, > but allow targets > + to be repeated in imported files. > > Other changes: > -------------- > > > > 1.412 +1 -8 ant/build.xml > > Index: build.xml > =================================================================== > RCS file: /home/cvs/ant/build.xml,v > retrieving revision 1.411 > retrieving revision 1.412 > diff -u -r1.411 -r1.412 > --- build.xml 26 Feb 2004 16:35:26 -0000 1.411 > +++ build.xml 27 Feb 2004 11:45:15 -0000 1.412 > @@ -329,13 +329,6 @@ > <patternset id="teststhatfail"> > <exclude name="${optional.package}/BeanShellScriptTest.java"/> > <exclude name="${optional.package}/jdepend/JDependTest.java"/> > - <!-- The > org.apache.tools.ant.ProjectTest.testDuplicateTargets fails. > - This is a known problem. It was noticed that duplicate > targets were > - not detected in ant 1.6.*, so a test was put in. But > no code was put in > - to fix the problem! > - see http://marc.theaimsgroup.com/?l=ant-dev&m=107756336622453&w=2 - --> - <exclude name="${ant.package}/ProjectTest.java"/> </patternset> <!-- @@ -1611,4 +1604,4 @@ description="--> creates a minimum distribution in ./dist" depends="dist-lite"/> -</project> \ No newline at end of file +</project> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]