antoine 2003/07/27 17:16:06 Modified: src/testcases/org/apache/tools/ant/taskdefs ReplaceTest.java src/etc tagdiff.xsl src/etc/testcases/taskdefs calltarget.xml replace.xml subant.xml src/etc/testcases/taskdefs/optional/i18n/translate/input resources_ger_DE.properties src/etc/testcases/taskdefs/subant genericsubant.xml src/etc/testcases/taskdefs/subant/subant-test1 mysubant.xml src/etc/testcases/taskdefs/subant/subant-test2 mysubant.xml Added: src/etc/testcases/taskdefs/replace result.txt source.txt value.txt Log: new testcase to show a problem on Windows with \r\n being replaced to \r\r\n Revision Changes Path 1.8 +43 -3 ant/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java Index: ReplaceTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ReplaceTest.java 10 Feb 2003 14:14:45 -0000 1.7 +++ ReplaceTest.java 28 Jul 2003 00:16:06 -0000 1.8 @@ -56,12 +56,17 @@ import org.apache.tools.ant.BuildFileTest; +import java.io.*; + +import junit.framework.AssertionFailedError; + /** * @author Nico Seessle <[EMAIL PROTECTED]> */ -public class ReplaceTest extends BuildFileTest { - - public ReplaceTest(String name) { +public class ReplaceTest extends BuildFileTest { + + private static final String TEST_PATH = "src/etc/testcases/taskdefs/replace/"; + public ReplaceTest(String name) { super(name); } @@ -101,4 +106,39 @@ executeTarget("test8"); } + public void test9() throws IOException{ + executeTarget("test9"); + assertEqualContent(new File(TEST_PATH + "result.txt"), + new File(TEST_PATH + "output.txt")); + } + public void tearDown() { + executeTarget("cleanup"); + } + public void assertEqualContent(File expect, File result) + throws AssertionFailedError, IOException { + if (!result.exists()) { + fail("Expected file "+result+" doesn\'t exist"); + } + + InputStream inExpect = null; + InputStream inResult = null; + try { + inExpect = new BufferedInputStream(new FileInputStream(expect)); + inResult = new BufferedInputStream(new FileInputStream(result)); + + int expectedByte = inExpect.read(); + while (expectedByte != -1) { + assertEquals(expectedByte, inResult.read()); + expectedByte = inExpect.read(); + } + assertEquals("End of file", -1, inResult.read()); + } finally { + if (inResult != null) { + inResult.close(); + } + if (inExpect != null) { + inExpect.close(); + } + } + } } 1.2 +162 -162 ant/src/etc/tagdiff.xsl Index: tagdiff.xsl =================================================================== RCS file: /home/cvs/ant/src/etc/tagdiff.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- tagdiff.xsl 15 Apr 2002 09:53:24 -0000 1.1 +++ tagdiff.xsl 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,162 +1,162 @@ -<!-- a stylesheet to display changelogs ala netbeans --> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - - <xsl:param name="title"/> - <xsl:param name="module"/> - <xsl:param name="cvsweb"/> - - <xsl:output method="html" indent="yes"/> - - <!-- Copy standard document elements. Elements that - should be ignored must be filtered by apply-templates - tags. --> - <xsl:template match="*"> - <xsl:copy> - <xsl:copy-of select="attribute::*[. != '']"/> - <xsl:apply-templates/> - </xsl:copy> - </xsl:template> - - <xsl:template match="tagdiff"> - <HTML> - <HEAD> - <TITLE><xsl:value-of select="$title"/></TITLE> - </HEAD> - <BODY link="#000000" alink="#000000" vlink="#000000" text="#000000"> - <style type="text/css"> - body, p { - font-family: verdana,arial,helvetica; - font-size: 80%; - color:#000000; - } - .dateAndAuthor { - font-family: verdana,arial,helvetica; - font-size: 80%; - font-weight: bold; - text-align:left; - background:#a6caf0; - } - tr, td{ - font-family: verdana,arial,helvetica; - font-size: 80%; - background:#eeeee0; - } - </style> - <h1> - <a name="top"><xsl:value-of select="$title"/></a> - </h1> - Tagdiff between <xsl:value-of select="@startTag"/> <xsl:value-of select="@startDate"/> and - <xsl:value-of select="@endTag"/> <xsl:value-of select="@endDate"/> - <p align="right">Designed for use with <a href="http://jakarta.apache.org">Ant</a>.</p> - <hr size="2"/> - <a name="TOP"/> - <table width="100%"> - <tr> - <td align="right"> - <a href="#New">New Files</a> | - <a href="#Modified">Modified Files</a> | - <a href="#Removed">Removed Files</a> - </td> - </tr> - </table> - <TABLE BORDER="0" WIDTH="100%" CELLPADDING="3" CELLSPACING="1"> - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">New Files</xsl:with-param> - <xsl:with-param name="anchor">New</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[file/revision][not(file/prevrevision)]"/> - </xsl:call-template> - - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">Modified Files</xsl:with-param> - <xsl:with-param name="anchor">Modified</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[file/revision][file/prevrevision]"/> - </xsl:call-template> - - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">Removed Files</xsl:with-param> - <xsl:with-param name="anchor">Removed</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[not(file/revision)][not(file/prevrevision)]"/> - </xsl:call-template> - </TABLE> - - </BODY> - </HTML> - </xsl:template> - - <xsl:template name="show-entries"> - <xsl:param name="title"/> - <xsl:param name="anchor"/> - <xsl:param name="entries"/> - <TR> - <TD colspan="2" class="dateAndAuthor"> - <a> - <xsl:attribute name="name"><xsl:value-of select="$anchor"/></xsl:attribute> - <xsl:value-of select="$title"/> - <xsl:value-of select="count($entries)"/> entries - </a> - <a href="#TOP">(back to top)</a> - </TD> - </TR> - <TR> - <TD width="20"> - <xsl:text> </xsl:text> - </TD> - <TD> - <ul> - <xsl:apply-templates select="$entries"/> - </ul> - </TD> - </TR> - </xsl:template> - - <xsl:template match="entry"> - <xsl:apply-templates select="file"/> - </xsl:template> - - <xsl:template match="date"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="time"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="author"> - <i> - <a> - <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute> - <xsl:value-of select="."/> - </a> - </i> - </xsl:template> - - <xsl:template match="file"> - <li> - <a target="_new"> - <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" /></xsl:attribute> - <xsl:value-of select="name" /> - </a> - <xsl:if test="string-length(prevrevision) > 0 or string-length(revision) > 0"> - <xsl:text> </xsl:text> - <a target="_new"> - <xsl:choose> - <xsl:when test="string-length(prevrevision) = 0 "> - <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/>&diff_format=h</xsl:attribute> - </xsl:otherwise> - </xsl:choose> (<xsl:value-of select="revision"/>) - </a> - </xsl:if> - </li> - </xsl:template> - - <!-- Any elements within a msg are processed, - so that we can preserve HTML tags. --> - <xsl:template match="msg"> - <b><xsl:apply-templates/></b> - </xsl:template> - -</xsl:stylesheet> +<!-- a stylesheet to display changelogs ala netbeans --> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:param name="title"/> + <xsl:param name="module"/> + <xsl:param name="cvsweb"/> + + <xsl:output method="html" indent="yes"/> + + <!-- Copy standard document elements. Elements that + should be ignored must be filtered by apply-templates + tags. --> + <xsl:template match="*"> + <xsl:copy> + <xsl:copy-of select="attribute::*[. != '']"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:template> + + <xsl:template match="tagdiff"> + <HTML> + <HEAD> + <TITLE><xsl:value-of select="$title"/></TITLE> + </HEAD> + <BODY link="#000000" alink="#000000" vlink="#000000" text="#000000"> + <style type="text/css"> + body, p { + font-family: verdana,arial,helvetica; + font-size: 80%; + color:#000000; + } + .dateAndAuthor { + font-family: verdana,arial,helvetica; + font-size: 80%; + font-weight: bold; + text-align:left; + background:#a6caf0; + } + tr, td{ + font-family: verdana,arial,helvetica; + font-size: 80%; + background:#eeeee0; + } + </style> + <h1> + <a name="top"><xsl:value-of select="$title"/></a> + </h1> + Tagdiff between <xsl:value-of select="@startTag"/> <xsl:value-of select="@startDate"/> and + <xsl:value-of select="@endTag"/> <xsl:value-of select="@endDate"/> + <p align="right">Designed for use with <a href="http://jakarta.apache.org">Ant</a>.</p> + <hr size="2"/> + <a name="TOP"/> + <table width="100%"> + <tr> + <td align="right"> + <a href="#New">New Files</a> | + <a href="#Modified">Modified Files</a> | + <a href="#Removed">Removed Files</a> + </td> + </tr> + </table> + <TABLE BORDER="0" WIDTH="100%" CELLPADDING="3" CELLSPACING="1"> + <xsl:call-template name="show-entries"> + <xsl:with-param name="title">New Files</xsl:with-param> + <xsl:with-param name="anchor">New</xsl:with-param> + <xsl:with-param name="entries" select=".//entry[file/revision][not(file/prevrevision)]"/> + </xsl:call-template> + + <xsl:call-template name="show-entries"> + <xsl:with-param name="title">Modified Files</xsl:with-param> + <xsl:with-param name="anchor">Modified</xsl:with-param> + <xsl:with-param name="entries" select=".//entry[file/revision][file/prevrevision]"/> + </xsl:call-template> + + <xsl:call-template name="show-entries"> + <xsl:with-param name="title">Removed Files</xsl:with-param> + <xsl:with-param name="anchor">Removed</xsl:with-param> + <xsl:with-param name="entries" select=".//entry[not(file/revision)][not(file/prevrevision)]"/> + </xsl:call-template> + </TABLE> + + </BODY> + </HTML> + </xsl:template> + + <xsl:template name="show-entries"> + <xsl:param name="title"/> + <xsl:param name="anchor"/> + <xsl:param name="entries"/> + <TR> + <TD colspan="2" class="dateAndAuthor"> + <a> + <xsl:attribute name="name"><xsl:value-of select="$anchor"/></xsl:attribute> + <xsl:value-of select="$title"/> - <xsl:value-of select="count($entries)"/> entries + </a> + <a href="#TOP">(back to top)</a> + </TD> + </TR> + <TR> + <TD width="20"> + <xsl:text> </xsl:text> + </TD> + <TD> + <ul> + <xsl:apply-templates select="$entries"/> + </ul> + </TD> + </TR> + </xsl:template> + + <xsl:template match="entry"> + <xsl:apply-templates select="file"/> + </xsl:template> + + <xsl:template match="date"> + <i><xsl:value-of select="."/></i> + </xsl:template> + + <xsl:template match="time"> + <i><xsl:value-of select="."/></i> + </xsl:template> + + <xsl:template match="author"> + <i> + <a> + <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute> + <xsl:value-of select="."/> + </a> + </i> + </xsl:template> + + <xsl:template match="file"> + <li> + <a target="_new"> + <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" /></xsl:attribute> + <xsl:value-of select="name" /> + </a> + <xsl:if test="string-length(prevrevision) > 0 or string-length(revision) > 0"> + <xsl:text> </xsl:text> + <a target="_new"> + <xsl:choose> + <xsl:when test="string-length(prevrevision) = 0 "> + <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/>&diff_format=h</xsl:attribute> + </xsl:otherwise> + </xsl:choose> (<xsl:value-of select="revision"/>) + </a> + </xsl:if> + </li> + </xsl:template> + + <!-- Any elements within a msg are processed, + so that we can preserve HTML tags. --> + <xsl:template match="msg"> + <b><xsl:apply-templates/></b> + </xsl:template> + +</xsl:stylesheet> 1.2 +44 -44 ant/src/etc/testcases/taskdefs/calltarget.xml Index: calltarget.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/calltarget.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- calltarget.xml 22 Jul 2003 11:58:55 -0000 1.1 +++ calltarget.xml 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,45 +1,45 @@ -<?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> - - +<?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.4 +9 -0 ant/src/etc/testcases/taskdefs/replace.xml Index: replace.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/replace.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- replace.xml 19 Jan 2001 15:04:08 -0000 1.3 +++ replace.xml 28 Jul 2003 00:16:06 -0000 1.4 @@ -41,4 +41,13 @@ </replace> </target> + <target name="test9"> + <copy file="replace/source.txt" tofile="replace/output.txt"/> + <loadfile srcFile="replace/value.txt" property="content"/> + <replace file="replace/output.txt" token="@@@Replace this@@@" value="${content}"/> + </target> + + <target name="cleanup"> + <delete file="replace/output.txt" quiet="true"/> + </target> </project> 1.2 +24 -24 ant/src/etc/testcases/taskdefs/subant.xml Index: subant.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/subant.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- subant.xml 21 May 2003 07:27:25 -0000 1.1 +++ subant.xml 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,24 +1,24 @@ -<?xml version="1.0"?> - -<project name="subant-test" basedir="." default="testgenericantfile"> - <target name="testnodirs" depends="cleanup"> - <subant genericantfile="subant/genericsubant.xml"> - <dirset dir="." includes="subant-test*"/> - </subant> - - </target> - <target name="testgenericantfile"> - <subant genericantfile="subant/genericsubant.xml"> - <dirset dir="subant" includes="subant-test*"/> - </subant> - </target> - <target name="testantfile"> - <subant antfile="mysubant.xml"> - <dirset dir="." includes="subant/subant-test*"/> - </subant> - - </target> - <target name="cleanup"> - <!-- nothing to do --> - </target> -</project> +<?xml version="1.0"?> + +<project name="subant-test" basedir="." default="testgenericantfile"> + <target name="testnodirs" depends="cleanup"> + <subant genericantfile="subant/genericsubant.xml"> + <dirset dir="." includes="subant-test*"/> + </subant> + + </target> + <target name="testgenericantfile"> + <subant genericantfile="subant/genericsubant.xml"> + <dirset dir="subant" includes="subant-test*"/> + </subant> + </target> + <target name="testantfile"> + <subant antfile="mysubant.xml"> + <dirset dir="." includes="subant/subant-test*"/> + </subant> + + </target> + <target name="cleanup"> + <!-- nothing to do --> + </target> +</project> 1.2 +10 -10 ant/src/etc/testcases/taskdefs/optional/i18n/translate/input/resources_ger_DE.properties Index: resources_ger_DE.properties =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/i18n/translate/input/resources_ger_DE.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- resources_ger_DE.properties 30 Jun 2003 13:45:17 -0000 1.1 +++ resources_ger_DE.properties 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,10 +1,10 @@ -This=Diese -is=ist -a=eine -demo=Demo -file=Datei -#note for people understanding german -# \u00fc = u umlaut -for=für -the=die -_task=_Aufgabe +This=Diese +is=ist +a=eine +demo=Demo +file=Datei +#note for people understanding german +# \u00fc = u umlaut +for=für +the=die +_task=_Aufgabe 1.1 ant/src/etc/testcases/taskdefs/replace/result.txt Index: result.txt =================================================================== This is line one This is line two This is line three This is line four This is line five This is line six 1.1 ant/src/etc/testcases/taskdefs/replace/source.txt Index: source.txt =================================================================== This is line one This is line two This is line three @@@Replace this@@@ 1.1 ant/src/etc/testcases/taskdefs/replace/value.txt Index: value.txt =================================================================== This is line four This is line five This is line six 1.2 +4 -4 ant/src/etc/testcases/taskdefs/subant/genericsubant.xml Index: genericsubant.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/subant/genericsubant.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- genericsubant.xml 21 May 2003 07:27:26 -0000 1.1 +++ genericsubant.xml 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,5 +1,5 @@ -<project name="genericsubant" basedir=".." default="mysubant"> - <target name="mysubant"> - <echo message="${basedir}"/> - </target> +<project name="genericsubant" basedir=".." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> </project> 1.2 +4 -4 ant/src/etc/testcases/taskdefs/subant/subant-test1/mysubant.xml Index: mysubant.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/subant/subant-test1/mysubant.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- mysubant.xml 21 May 2003 07:27:26 -0000 1.1 +++ mysubant.xml 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,5 +1,5 @@ -<project name="mysubant" basedir="." default="mysubant"> - <target name="mysubant"> - <echo message="${basedir}"/> - </target> +<project name="mysubant" basedir="." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> </project> 1.2 +4 -4 ant/src/etc/testcases/taskdefs/subant/subant-test2/mysubant.xml Index: mysubant.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/subant/subant-test2/mysubant.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- mysubant.xml 21 May 2003 07:27:26 -0000 1.1 +++ mysubant.xml 28 Jul 2003 00:16:06 -0000 1.2 @@ -1,5 +1,5 @@ -<project name="subant" basedir=".." default="mysubant"> - <target name="mysubant"> - <echo message="${basedir}"/> - </target> +<project name="subant" basedir=".." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> </project>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]