You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Peter Reilly <pe...@corvil.com> on 2004/03/01 10:00:19 UTC

Re: cvs commit: ant WHATSNEW build.xml

Jose,
You are right, the check is just for the main build file.

Peter
Jose Alberto Fernandez wrote:

>Peter,
>
>Maybe I do not understand the fix completely,
>but shouldn't the check be that a target cannot appear
>ON THE SAME FILE (imported or main) more than once?
>I.e., I should not be able to duplicate a target on a file
>and get away with it by importing it instead of executing it
>directly.
>
>Does your fix covers this case? 
>
>Jose Alberto
>
>  
>
>>-----Original Message-----
>>From: Jan.Materne@rzf.fin-nrw.de [mailto:Jan.Materne@rzf.fin-nrw.de] 
>>Sent: 27 February 2004 12:14
>>To: dev@ant.apache.org
>>Subject: RE: cvs commit: ant WHATSNEW build.xml
>>
>>
>>Fast resolved, Peter :)
>>
>>Jan
>>
>>    
>>
>>>-----Original Message-----
>>>From: peterreilly@apache.org [mailto:peterreilly@apache.org]
>>>Sent: Friday, February 27, 2004 12:45 PM
>>>To: ant-cvs@apache.org
>>>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: dev-unsubscribe@ant.apache.org
>>For additional commands, e-mail: dev-help@ant.apache.org
>>
>>    
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>For additional commands, e-mail: dev-help@ant.apache.org
>
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org