antoine 2003/07/22 04:58:55 Modified: src/main/org/apache/tools/ant Project.java UnknownElement.java Added: src/etc/testcases/taskdefs calltarget.xml src/testcases/org/apache/tools/ant/taskdefs CallTargetTest.java Log: References not passed by antcall PR: 21724 Revision Changes Path 1.1 ant/src/etc/testcases/taskdefs/calltarget.xml Index: calltarget.xml =================================================================== <?xml version="1.0"?> <project name ="calltarget-test" default="testinheritreffileset" basedir="."> <property name="tmp.dir" value="tmp.dir" /> <target name="setup"> <mkdir dir="${tmp.dir}"/> </target> <target name="cleanup"> <delete dir="${tmp.dir}" quiet="true"/> </target> <target name="mytarget"> <pathconvert property="myproperty" targetos="unix" refid="myfileset"/> <echo message="myproperty=${myproperty}"/> </target> <target name="testinheritreffileset"> <!-- this testcase should show that the fileset defined here can be read in the called target --> <fileset dir="." id="myfileset"> <include name="calltarget.xml"/> </fileset> <antcall target="mytarget" inheritrefs="true"/> </target> <target name="copytest2"> <copy file="${tmp.dir}/copytest.in" toFile="${tmp.dir}/copytest1.out" overwrite="true"> <filterset refid="foo"/> </copy> </target> <target name="testinheritreffilterset" depends="setup"> <echo file="${tmp.dir}/copytest.in">@@foo@@</echo> <filterset id="foo" begintoken="@@" endtoken="@@"> <filter token="foo" value="bar"/> </filterset> <antcall target="copytest2" inheritrefs="true"/> <copy file="${tmp.dir}/copytest.in" toFile="${tmp.dir}/copytest2.out" overwrite="true"> <filterset refid="foo"/> </copy> <loadfile srcFile="${tmp.dir}/copytest2.out" property="copytest2"/> <loadfile srcFile="${tmp.dir}/copytest1.out" property="copytest1"/> <condition property="success"> <equals arg1="${copytest1}" arg2="${copytest2}"/> </condition> <fail message="filterset not properly passed across by antcall" unless="success"/> </target> </project> 1.1 ant/src/testcases/org/apache/tools/ant/taskdefs/CallTargetTest.java Index: CallTargetTest.java =================================================================== /* * The Apache Software License, Version 1.1 * * Copyright (c) 2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "Ant" and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ package org.apache.tools.ant.taskdefs; import org.apache.tools.ant.BuildFileTest; import org.apache.tools.ant.Project; import org.apache.tools.ant.util.JavaEnvUtils; /** * @author Nico Seessle <[EMAIL PROTECTED]> */ public class CallTargetTest extends BuildFileTest { public CallTargetTest(String name) { super(name); } public void setUp() { configureProject("src/etc/testcases/taskdefs/calltarget.xml"); } // see bugrep 21724 (references not passing through with antcall) public void testInheritRefFileSet() { expectLogContaining("testinheritreffileset", "calltarget.xml"); } // see bugrep 21724 (references not passing through with antcall) public void testInheritFilterset() { project.executeTarget("testinheritfilterset"); } public void tearDown() { project.executeTarget("cleanup"); } } 1.148 +4 -3 ant/src/main/org/apache/tools/ant/Project.java Index: Project.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/Project.java,v retrieving revision 1.147 retrieving revision 1.148 diff -u -r1.147 -r1.148 --- Project.java 18 Jul 2003 12:45:54 -0000 1.147 +++ Project.java 22 Jul 2003 11:58:55 -0000 1.148 @@ -2063,8 +2063,9 @@ Object o = super.get(key); if (o instanceof UnknownElement) { // Make sure that - ((UnknownElement) o).maybeConfigure(); - o = ((UnknownElement) o).getTask(); + UnknownElement ue = (UnknownElement) o; + ue.maybeConfigure(); + o = ue.getRealThing(); } return o; } 1.57 +10 -0 ant/src/main/org/apache/tools/ant/UnknownElement.java Index: UnknownElement.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/UnknownElement.java,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- UnknownElement.java 18 Jul 2003 12:45:55 -0000 1.56 +++ UnknownElement.java 22 Jul 2003 11:58:55 -0000 1.57 @@ -458,6 +458,16 @@ } /** + * Return the configured object + * + * @return the real thing whatever it is + * + * @since ant 1.6 + */ + public Object getRealThing() { + return realThing; + } + /** * Try to create a nested element of <code>parent</code> for the * given tag. *
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]