peterreilly 2005/05/30 03:04:42 Modified: . WHATSNEW src/main/org/apache/tools/ant/taskdefs MacroDef.java src/etc/testcases/taskdefs macrodef.xml src/testcases/org/apache/tools/ant/taskdefs MacroDefTest.java Log: * <macrodef> with redefined default values was incorrect. (Fix for 31215 had a bug). Bugzilla report 35109. PR: 35109 Revision Changes Path 1.835 +15 -0 ant/WHATSNEW Index: WHATSNEW =================================================================== RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.834 retrieving revision 1.835 diff -u -r1.834 -r1.835 --- WHATSNEW 26 May 2005 17:04:47 -0000 1.834 +++ WHATSNEW 30 May 2005 10:04:41 -0000 1.835 @@ -233,6 +233,21 @@ * Try to make subprojects of custom Project subclasses instances of the same type. Bugzilla report 17901. +Changes from Ant 1.6.4 to current Ant 1.6 CVS version +===================================================== + +Changes that could break older environments: +-------------------------------------------- + +Fixed bugs: +----------- + +* <move> was unable to replace existing files or write into + existing directories. Bugzilla report 34962. + +* <macrodef> with redefined default values was incorrect. (Fix for + 31215 had a bug). Bugzilla report 35109. + Changes from Ant 1.6.3 to Ant 1.6.4 =================================== 1.33 +26 -4 ant/src/main/org/apache/tools/ant/taskdefs/MacroDef.java Index: MacroDef.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/MacroDef.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- MacroDef.java 21 Apr 2005 09:49:55 -0000 1.32 +++ MacroDef.java 30 May 2005 10:04:42 -0000 1.33 @@ -715,13 +715,14 @@ } /** - * similar equality method for macrodef, ignores project and + * same or similar equality method for macrodef, ignores project and * runtime info. * * @param obj an <code>Object</code> value + * @param same if true test for sameness, otherwise just similiar * @return a <code>boolean</code> value */ - public boolean similar(Object obj) { + private boolean sameOrSimilar(Object obj, boolean same) { if (obj == this) { return true; } @@ -742,7 +743,8 @@ // Allow two macro definitions with the same location // to be treated as similar - bugzilla 31215 if (other.getLocation() != null - && other.getLocation().equals(getLocation())) { + && other.getLocation().equals(getLocation()) + && !same) { return true; } if (text == null) { @@ -779,6 +781,26 @@ } /** + * Similar method for this definition + * + * @param obj another definition + * @return true if the definitions are similar + */ + public boolean similar(Object obj) { + return sameOrSimilar(obj, false); + } + + /** + * Equality method for this definition + * + * @param obj another definition + * @return true if the definitions are the same + */ + public boolean sameDefinition(Object obj) { + return sameOrSimilar(obj, true); + } + + /** * extends AntTypeDefinition, on create * of the object, the template macro definition * is given. @@ -822,7 +844,7 @@ return false; } MyAntTypeDefinition otherDef = (MyAntTypeDefinition) other; - return macroDef.similar(otherDef.macroDef); + return macroDef.sameDefinition(otherDef.macroDef); } /** 1.14 +17 -0 ant/src/etc/testcases/taskdefs/macrodef.xml Index: macrodef.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/macrodef.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- macrodef.xml 21 Apr 2005 09:49:55 -0000 1.13 +++ macrodef.xml 30 May 2005 10:04:42 -0000 1.14 @@ -220,7 +220,24 @@ <explicit/> </sequential> </macrodef> + </target> + + <property name="default.override" value="old"/> + <macrodef name="simple.override"> + <attribute name="attr" default="${default.override}"/> + <sequential> + <echo>value is @{attr}</echo> + </sequential> + </macrodef> + + <target name="override.default"> + <antcall target="override.call"> + <param name="default.override" value="new"/> + </antcall> + </target> + <target name="override.call"> + <simple.override/> </target> <target name="backtraceoff"> 1.20 +5 -0 ant/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java Index: MacroDefTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- MacroDefTest.java 25 Apr 2005 07:49:49 -0000 1.19 +++ MacroDefTest.java 30 May 2005 10:04:42 -0000 1.20 @@ -109,6 +109,11 @@ "attribute.description", "description is hello world"); } + public void testOverrideDefault() { + expectLog( + "override.default", + "value is new"); + } public void testImplicit() { expectLog( "implicit", "Before implicitIn implicitAfter implicit");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]