conor 01/08/18 07:59:40
Modified: src/etc junit-frames.xsl
src/main/org/apache/tools/ant Main.java Project.java
src/main/org/apache/tools/ant/listener Log4jListener.java
src/main/org/apache/tools/ant/taskdefs Copy.java
DependSet.java ExecuteJava.java Jar.java Javac.java
Javadoc.java Move.java XSLTLiaison.java
XSLTProcess.java defaults.properties
src/main/org/apache/tools/ant/taskdefs/compilers
DefaultCompilerAdapter.java Jikes.java
src/main/org/apache/tools/ant/taskdefs/optional
TraXLiaison.java XalanLiaison.java XslpLiaison.java
src/main/org/apache/tools/ant/taskdefs/optional/depend
Depend.java
src/main/org/apache/tools/ant/taskdefs/optional/ejb
DescriptorHandler.java WLRun.java
src/main/org/apache/tools/ant/types FilterSet.java
src/main/org/apache/tools/ant/util FileUtils.java
src/testcases/org/apache/tools/ant/util FileUtilsTest.java
Added: src/etc/testcases/taskdefs/optional xalan-redirect-in.xsl
xsltliaison-encoding-in.xml
xsltliaison-encoding-in.xsl xsltliaison-in.xml
xsltliaison-in.xsl xsltliaison-include.xml
xsltliaison-include.xsl
src/etc/testcases/types filterset.xml filterseta.txt
filtersetb.txt filtersetc.txt
src/etc/testcases/types/gold filterset1.txt filterset2.txt
filterset3.txt
src/main/org/apache/tools/ant/types FilterSetCollection.java
src/testcases/org/apache/tools/ant/taskdefs/optional
AbstractXSLTLiaisonTest.java TraXLiaisonTest.java
XalanLiaisonTest.java XslpLiaisonTest.java
src/testcases/org/apache/tools/ant/types FilterSetTest.java
Log:
Merge from ANT_145_BRANCH up to Beta 2
Revision Changes Path
1.3 +117 -105 jakarta-ant/src/etc/junit-frames.xsl
Index: junit-frames.xsl
===================================================================
RCS file: /home/cvs/jakarta-ant/src/etc/junit-frames.xsl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- junit-frames.xsl 2001/08/07 22:01:49 1.2
+++ junit-frames.xsl 2001/08/18 14:59:38 1.3
@@ -6,7 +6,7 @@
<!-- ======================================================================
- Stylesheet to transform an XML file generated by the Ant MAudit task into
+ Stylesheet to transform an XML file generated by the Ant JUnit task into
a set of JavaDoc-like HTML page to make pages more convenient to be
browsed.
It use the Xalan redirect extension to write to multiple output files.
@@ -14,8 +14,8 @@
Note: HTML output can be made much more clean by removing non css
attributes
======================================================================
-->
-<xsl:output method="html" indent="yes"/>
-<xsl:decimal-format decimal-separator="." grouping-separator="," />
+<xsl:output method="html" indent="yes"/>
+<xsl:decimal-format decimal-separator="." grouping-separator=","/>
<!--
Xalan redirect extension writes relative file based on the parent
directory
@@ -27,7 +27,7 @@
This has to be invoked as follows from the command line:
- java -classpath bsf.jar;xalan.jar;xerces.jar
org.apache.xalan.xslt.Process -IN testsuites.xml -XSL maudit.xsl -PARAM
output.dir './report'
+ java -classpath bsf.jar;xalan.jar;xerces.jar
org.apache.xalan.xslt.Process -IN testsuites.xml -XSL junit-frames.xsl -PARAM
output.dir './report'
-->
<xsl:param name="output.dir" select="'.'"/>
@@ -98,61 +98,72 @@
</xsl:template>
<xsl:template name="index.html">
-<HTML>
- <HEAD><TITLE>Unit Test Results.</TITLE></HEAD>
- <FRAMESET cols="20%,80%">
- <FRAMESET rows="30%,70%">
- <FRAME src="overview-frame.html"
name="packageListFrame"/>
- <FRAME src="allclasses-frame.html"
name="classListFrame"/>
- </FRAMESET>
- <FRAME src="overview-summary.html" name="classFrame"/>
- </FRAMESET>
+<html>
+ <head>
+ <title>Unit Test Results.</title>
+ </head>
+ <frameset cols="20%,80%">
+ <frameset rows="30%,70%">
+ <frame src="overview-frame.html"
name="packageListFrame"/>
+ <frame src="allclasses-frame.html"
name="classListFrame"/>
+ </frameset>
+ <frame src="overview-summary.html" name="classFrame"/>
+ </frameset>
<noframes>
- <H2>Frame Alert</H2>
- <P>
+ <h2>Frame Alert</h2>
+ <p>
This document is designed to be viewed using the frames
feature. If you see this message, you are using a non-frame-capable web client.
- </P>
+ </p>
</noframes>
-</HTML>
+</html>
</xsl:template>
<!-- this is the stylesheet css to use for nearly everything -->
<xsl:template name="stylesheet.css">
-BODY {
+body {
font:normal 68% verdana,arial,helvetica;
color:#000000;
}
-TD {
- FONT-SIZE: 68%
+td {
+ font-size: 68%
}
-P {
+p {
line-height:1.5em;
margin-top:0.5em; margin-bottom:1.0em;
}
-H1 {
- MARGIN: 0px 0px 5px; FONT: 165% verdana,arial,helvetica
+h1 {
+ margin: 0px 0px 5px;
+ font: 165% verdana,arial,helvetica
+}
+h2 {
+ margin-top: 1em;
+ margin-bottom: 0.5em;
+ font: bold 125% verdana,arial,helvetica
+}
+h3 {
+ margin-bottom: 0.5em;
+ font: bold 115% verdana,arial,helvetica
+}
+h4 {
+ margin-bottom: 0.5em;
+ font: bold 100% verdana,arial,helvetica
+}
+h5 {
+ margin-bottom: 0.5em;
+ font: bold 100% verdana,arial,helvetica
+}
+h6 {
+ margin-bottom: 0.5em;
+ font: bold 100% verdana,arial,helvetica
}
-H2 {
- MARGIN-TOP: 1em; MARGIN-BOTTOM: 0.5em; FONT: bold 125%
verdana,arial,helvetica
-}
-H3 {
- MARGIN-BOTTOM: 0.5em; FONT: bold 115% verdana,arial,helvetica
-}
-H4 {
- MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
-}
-H5 {
- MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
-}
-H6 {
- MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
-}
.Error {
- font-weight:bold; color:red;
+ font-weight:bold;
+ color:red;
}
.Failure {
- font-weight:bold; color:purple;
+ font-weight:bold;
+ color:purple;
}
</xsl:template>
@@ -165,15 +176,15 @@
======================================================================
-->
<xsl:template match="testsuite" mode="class.details">
<xsl:variable name="package.name" select="@package"/>
- <HTML>
- <HEAD>
+ <html>
+ <head>
<xsl:call-template name="create.stylesheet.link">
<xsl:with-param name="package.name"
select="$package.name"/>
</xsl:call-template>
- </HEAD>
- <BODY>
+ </head>
+ <body>
<xsl:call-template name="pageHeader"/>
- <H3>Class <xsl:if test="not($package.name =
'')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of
select="@name"/></H3>
+ <h3>Class <xsl:if test="not($package.name =
'')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of
select="@name"/></h3>
<table border="0" cellpadding="5" cellspacing="2"
width="95%">
@@ -181,7 +192,7 @@
<xsl:apply-templates select="."
mode="print.test"/>
</table>
- <H2>Tests</H2>
+ <h2>Tests</h2>
<p>
<table border="0" cellpadding="5" cellspacing="2"
width="95%">
<xsl:call-template name="testcase.test.header"/>
@@ -189,8 +200,8 @@
</table>
</p>
- </BODY>
- </HTML>
+ </body>
+ </html>
</xsl:template>
@@ -202,24 +213,24 @@
<!-- list of classes in a package -->
<xsl:template name="classes.list">
<xsl:param name="name"/>
- <HTML>
- <HEAD>
+ <html>
+ <head>
<xsl:call-template name="create.stylesheet.link">
<xsl:with-param name="package.name"
select="$name"/>
</xsl:call-template>
- </HEAD>
- <BODY>
+ </head>
+ <body>
<table width="100%">
<tr>
<td nowrap="nowrap">
- <H2><a
href="package-summary.html" target="classFrame"><xsl:value-of
select="$name"/></a></H2>
+ <h2><a
href="package-summary.html" target="classFrame"><xsl:value-of
select="$name"/></a></h2>
</td>
</tr>
</table>
- <H2>Classes</H2>
+ <h2>Classes</h2>
<p>
- <TABLE WIDTH="100%">
+ <table width="100%">
<xsl:for-each
select="/testsuites/testsuite[./@package = $name]">
<xsl:sort select="@name"/>
<tr>
@@ -228,10 +239,10 @@
</td>
</tr>
</xsl:for-each>
- </TABLE>
+ </table>
</p>
- </BODY>
- </HTML>
+ </body>
+ </html>
</xsl:template>
@@ -260,8 +271,8 @@
</xsl:template>
<xsl:template match="testsuite" mode="all.classes">
- <!-- (ancestor::package)[last()] is buggy in MSXML3, fixed in SP1 ? -->
- <xsl:variable name="package.name" select="@package"/>
+ <!-- (ancestor::package)[last()] is buggy in MSXML3, fixed in SP1? -->
+ <xsl:variable name="package.name" select="@package"/>
<tr>
<td nowrap="nowrap">
<a target="classFrame">
@@ -295,7 +306,7 @@
<p>
<table width="100%">
<xsl:apply-templates
select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]"
mode="all.packages">
- <xsl:sort select="@name"/>
+ <xsl:sort select="@package"/>
</xsl:apply-templates>
</table>
</p>
@@ -321,7 +332,7 @@
<xsl:with-param name="package.name"/>
</xsl:call-template>
</head>
- <body onload="open('allclasses-frame.html','classListFrame')">
+ <body>
<xsl:call-template name="pageHeader"/>
<h2>Summary</h2>
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
@@ -331,20 +342,20 @@
<xsl:variable name="successRate" select="($testCount -
$failureCount - $errorCount) div $testCount"/>
<table border="0" cellpadding="5" cellspacing="2" width="95%">
<tr bgcolor="#A6CAF0" valign="top">
- <td><b>Tests</b></td>
- <td><b>Failures</b></td>
- <td><b>Errors</b></td>
- <td><b>Success rate</b></td>
- <td><b>Time</b></td>
+ <td><strong>Tests</strong></td>
+ <td><strong>Failures</strong></td>
+ <td><strong>Errors</strong></td>
+ <td><strong>Success rate</strong></td>
+ <td><strong>Time</strong></td>
</tr>
<tr bgcolor="#EEEEE" valign="top">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$failureCount > 0">Failure</xsl:when>
- <xsl:when test="$errorCount > 0">Error</xsl:when>
- <xsl:otherwise>Pass</xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="$errorCount >
0">Error</xsl:when>
+ <xsl:when test="$failureCount >
0">Failure</xsl:when>
+ <xsl:otherwise>Pass</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
<td><xsl:value-of select="$testCount"/></td>
<td><xsl:value-of select="$failureCount"/></td>
<td><xsl:value-of select="$errorCount"/></td>
@@ -364,7 +375,7 @@
<table border="0" width="95%">
<tr>
<td style="text-align: justify;">
- Note: <i>failures</i> are anticipated and checked for with
assertions while <i>errors</i> are unanticipated.
+ Note: <em>failures</em> are anticipated and checked for with
assertions while <em>errors</em> are unanticipated.
</td>
</tr>
</table>
@@ -377,13 +388,14 @@
<!-- get the node set containing all testsuites
that have the same package -->
<xsl:variable name="insamepackage"
select="/testsuites/testsuite[./@package = current()/@package]"/>
<tr bgcolor="#EEEEE" valign="top">
- <!-- display a failure if there is any
failure/error in the package -->
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="sum($insamepackage/@errors) +
sum($insamepackage/@failures) > 0">Failure</xsl:when>
- <xsl:otherwise>Pass</xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
+ <!-- display a failure if there is any
failure/error in the package -->
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when
test="sum($insamepackage/@errors) > 0">Error</xsl:when>
+ <xsl:when
test="sum($insamepackage/@failures) > 0">Failure</xsl:when>
+
<xsl:otherwise>Pass</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
<td><a
href="{translate(@package,'.','/')}/package-summary.html"><xsl:value-of
select="@package"/></a></td>
<td><xsl:value-of
select="sum($insamepackage/@tests)"/></td>
<td><xsl:value-of
select="sum($insamepackage/@errors)"/></td>
@@ -403,13 +415,13 @@
<xsl:template name="package.summary">
<xsl:param name="name"/>
- <HTML>
- <HEAD>
+ <html>
+ <head>
<xsl:call-template name="create.stylesheet.link">
<xsl:with-param name="package.name"
select="$name"/>
</xsl:call-template>
- </HEAD>
- <BODY>
+ </head>
+ <body>
<xsl:attribute
name="onload">open('package-frame.html','classListFrame')</xsl:attribute>
<xsl:call-template name="pageHeader"/>
<h3>Package <xsl:value-of select="$name"/></h3>
@@ -421,7 +433,7 @@
<xsl:variable name="insamepackage"
select="/testsuites/testsuite[./@package = $name]"/>
<xsl:if test="count($insamepackage) > 0">
- <H2>Classes</H2>
+ <h2>Classes</h2>
<p>
<table border="0" cellpadding="5"
cellspacing="2" width="95%">
<xsl:call-template
name="testsuite.test.header"/>
@@ -431,8 +443,8 @@
</table>
</p>
</xsl:if>
- </BODY>
- </HTML>
+ </body>
+ </html>
</xsl:template>
@@ -457,7 +469,7 @@
<!-- create the link to the stylesheet based on the package name -->
<xsl:template name="create.stylesheet.link">
<xsl:param name="package.name"/>
- <LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute
name="href"><xsl:if test="not($package.name = 'unnamed
package')"><xsl:call-template name="path"><xsl:with-param name="path"
select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK>
+ <link rel="stylesheet" type="text/css" title="Style"><xsl:attribute
name="href"><xsl:if test="not($package.name = 'unnamed
package')"><xsl:call-template name="path"><xsl:with-param name="path"
select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link>
</xsl:template>
@@ -476,32 +488,32 @@
<!-- class header -->
<xsl:template name="testsuite.test.header">
<tr bgcolor="#A6CAF0" valign="top">
- <td width="80%"><b>Name</b></td>
- <td><b>Tests</b></td>
- <td><b>Errors</b></td>
- <td><b>Failures</b></td>
- <td nowrap="nowrap"><b>Time(s)</b></td>
+ <td width="80%"><strong>Name</strong></td>
+ <td><strong>Tests</strong></td>
+ <td><strong>Errors</strong></td>
+ <td><strong>Failures</strong></td>
+ <td nowrap="nowrap"><strong>Time(s)</strong></td>
</tr>
</xsl:template>
<!-- method header -->
<xsl:template name="testcase.test.header">
<tr bgcolor="#A6CAF0" valign="top">
- <td><b>Name</b></td>
- <td><b>Status</b></td>
- <td width="80%"><b>Type</b></td>
- <td nowrap="nowrap"><b>Time(s)</b></td>
+ <td><strong>Name</strong></td>
+ <td><strong>Status</strong></td>
+ <td width="80%"><strong>Type</strong></td>
+ <td nowrap="nowrap"><strong>Time(s)</strong></td>
</tr>
</xsl:template>
<!-- class information -->
<xsl:template match="testsuite" mode="print.test">
- <tr bgcolor="#EEEEE" valign="top">
+ <tr bgcolor="#EEEEE" valign="top">
<xsl:attribute name="class">
<xsl:choose>
- <xsl:when test="@failures[.>
0]">Failure</xsl:when>
<xsl:when test="@errors[.>
0]">Error</xsl:when>
+ <xsl:when test="@failures[.>
0]">Failure</xsl:when>
<xsl:otherwise>Pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
@@ -520,7 +532,8 @@
<tr bgcolor="#EEEEE" valign="top">
<xsl:attribute name="class">
<xsl:choose>
- <xsl:when test="failure |
error">Error</xsl:when>
+ <xsl:when test="error">Error</xsl:when>
+ <xsl:when test="failure">Failure</xsl:when>
<xsl:otherwise>TableRowColor</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
@@ -558,7 +571,7 @@
<xsl:call-template name="display-failures"/>
</xsl:template>
-<!-- Style for the error and failure in the tescase template -->
+<!-- Style for the error and failure in the testcase template -->
<xsl:template name="display-failures">
<xsl:choose>
<xsl:when test="not(@message)">N/A</xsl:when>
@@ -573,7 +586,7 @@
<xsl:with-param name="word" select="."/>
</xsl:call-template>
</code>
- <!-- the later is better but might be problematic for non-21"
monitors... -->
+ <!-- the latter is better but might be problematic for non-21"
monitors... -->
<!--pre><xsl:value-of select="."/></pre-->
</xsl:template>
@@ -606,6 +619,5 @@
<xsl:param name="value"/>
<xsl:value-of select="format-number($value,'0.00%')"/>
</xsl:template>
-
</xsl:stylesheet>
1.2 +20 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xalan-redirect-in.xsl
1.2 +4 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xml
1.2 +10 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xsl
1.2 +7 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-in.xml
1.2 +3 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-in.xsl
1.2 +2 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-include.xml
1.2 +3 -0
jakarta-ant/src/etc/testcases/taskdefs/optional/xsltliaison-include.xsl
1.2 +37 -0 jakarta-ant/src/etc/testcases/types/filterset.xml
1.2 +2 -0 jakarta-ant/src/etc/testcases/types/filterseta.txt
1.2 +5 -0 jakarta-ant/src/etc/testcases/types/filtersetb.txt
1.2 +7 -0 jakarta-ant/src/etc/testcases/types/filtersetc.txt
1.2 +2 -0 jakarta-ant/src/etc/testcases/types/gold/filterset1.txt
1.2 +5 -0 jakarta-ant/src/etc/testcases/types/gold/filterset2.txt
1.2 +7 -0 jakarta-ant/src/etc/testcases/types/gold/filterset3.txt
1.45 +9 -8 jakarta-ant/src/main/org/apache/tools/ant/Main.java
Index: Main.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/Main.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- Main.java 2001/08/08 19:34:20 1.44
+++ Main.java 2001/08/18 14:59:39 1.45
@@ -69,7 +69,6 @@
*
* @author [EMAIL PROTECTED]
*/
-
public class Main {
/** The default build file name */
@@ -132,7 +131,7 @@
* Entry point allowing for more options from other front ends
*/
public static void start(String[] args, Properties
additionalUserProperties,
- ClassLoader systemLoader) {
+ ClassLoader coreLoader) {
Main m = null;
try {
@@ -151,7 +150,7 @@
}
try {
- m.runBuild(systemLoader);
+ m.runBuild(coreLoader);
System.exit(0);
} catch (BuildException be) {
if (m.err != System.err) {
@@ -390,7 +389,7 @@
/**
* Executes the build.
*/
- private void runBuild(ClassLoader systemLoader) throws BuildException {
+ private void runBuild(ClassLoader coreLoader) throws BuildException {
if (!readyToRun) {
return;
@@ -403,7 +402,7 @@
}
final Project project = new Project();
- project.setSystemLoader(systemLoader);
+ project.setCoreLoader(coreLoader);
Throwable error = null;
@@ -433,15 +432,17 @@
// first use the ProjectHelper to create the project object
// from the given build file.
+ String noParserMessage =
+ "No JAXP compliant XML parser found. Please visit
http://xml.apache.org for a suitable parser";
try {
Class.forName("javax.xml.parsers.SAXParserFactory");
ProjectHelper.configureProject(project, buildFile);
} catch (NoClassDefFoundError ncdfe) {
- throw new BuildException("No JAXP compliant XML parser
found. See http://java.sun.com/xml for the\nreference implementation.", ncdfe);
+ throw new BuildException(noParserMessage, ncdfe);
} catch (ClassNotFoundException cnfe) {
- throw new BuildException("No JAXP compliant XML parser
found. See http://java.sun.com/xml for the\nreference implementation.", cnfe);
+ throw new BuildException(noParserMessage, cnfe);
} catch (NullPointerException npe) {
- throw new BuildException("No JAXP compliant XML parser
found. See http://java.sun.com/xml for the\nreference implementation.", npe);
+ throw new BuildException(noParserMessage, npe);
}
// make sure that we have a target to execute
1.75 +14 -12 jakarta-ant/src/main/org/apache/tools/ant/Project.java
Index: Project.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/Project.java,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- Project.java 2001/08/08 19:34:20 1.74
+++ Project.java 2001/08/18 14:59:39 1.75
@@ -59,6 +59,7 @@
import java.text.*;
import org.apache.tools.ant.types.FilterSet;
+import org.apache.tools.ant.types.FilterSetCollection;
import org.apache.tools.ant.util.FileUtils;
/**
@@ -108,12 +109,13 @@
private Hashtable taskClassDefinitions = new Hashtable();
private Hashtable targets = new Hashtable();
private FilterSet globalFilterSet = new FilterSet();
+ private FilterSetCollection globalFilters = new
FilterSetCollection(globalFilterSet);
private File baseDir;
private Vector listeners = new Vector();
- /** The system classloader - may be null */
- private ClassLoader systemLoader = null;
+ /** The Ant core classloader - may be null if using system loader */
+ private ClassLoader coreLoader = null;
/** Records the latest task on a thread */
private Hashtable threadTasks = new Hashtable();
@@ -216,12 +218,12 @@
setSystemProperties();
}
- public void setSystemLoader(ClassLoader systemLoader) {
- this.systemLoader = systemLoader;
+ public void setCoreLoader(ClassLoader coreLoader) {
+ this.coreLoader = coreLoader;
}
- public ClassLoader getSystemLoader() {
- return systemLoader;
+ public ClassLoader getCoreLoader() {
+ return coreLoader;
}
public void addBuildListener(BuildListener listener) {
@@ -671,7 +673,7 @@
*/
public void copyFile(String sourceFile, String destFile, boolean
filtering)
throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null);
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null);
}
/**
@@ -685,7 +687,7 @@
*/
public void copyFile(String sourceFile, String destFile, boolean
filtering,
boolean overwrite) throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null, overwrite);
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null, overwrite);
}
/**
@@ -702,7 +704,7 @@
public void copyFile(String sourceFile, String destFile, boolean
filtering,
boolean overwrite, boolean preserveLastModified)
throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null,
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null,
overwrite, preserveLastModified);
}
@@ -728,7 +730,7 @@
*/
public void copyFile(File sourceFile, File destFile, boolean filtering)
throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null);
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null);
}
/**
@@ -742,7 +744,7 @@
*/
public void copyFile(File sourceFile, File destFile, boolean filtering,
boolean overwrite) throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null, overwrite);
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null, overwrite);
}
/**
@@ -759,7 +761,7 @@
public void copyFile(File sourceFile, File destFile, boolean filtering,
boolean overwrite, boolean preserveLastModified)
throws IOException {
- fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilterSet
: null,
+ fileUtils.copyFile(sourceFile, destFile, filtering ? globalFilters :
null,
overwrite, preserveLastModified);
}
1.2 +3 -2
jakarta-ant/src/main/org/apache/tools/ant/listener/Log4jListener.java
Index: Log4jListener.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/listener/Log4jListener.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Log4jListener.java 2001/08/03 14:21:00 1.1
+++ Log4jListener.java 2001/08/18 14:59:39 1.2
@@ -73,7 +73,8 @@
public Log4jListener() {
initialized = false;
Category cat = Category.getInstance("org.apache.tools.ant");
- if (!(cat.getAllAppenders() instanceof NullEnumeration)) {
+ Category rootCat = Category.getRoot();
+ if (!(rootCat.getAllAppenders() instanceof NullEnumeration)) {
initialized = true;
}
else {
@@ -90,7 +91,7 @@
public void buildFinished(BuildEvent event) {
if (initialized) {
- Category cat = Category.getInstance(Target.class.getName());
+ Category cat = Category.getInstance(Project.class.getName());
if (event.getException() == null) {
cat.info("Build finished.");
}
1.20 +4 -4
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Copy.java
Index: Copy.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Copy.java 2001/08/07 05:49:48 1.19
+++ Copy.java 2001/08/18 14:59:39 1.20
@@ -365,14 +365,14 @@
try {
log("Copying " + fromFile + " to " + toFile, verbosity);
- FilterSet executionFilterSet = new FilterSet();
+ FilterSetCollection executionFilters = new
FilterSetCollection();
if (filtering) {
-
executionFilterSet.addFilterSet(project.getGlobalFilterSet());
+
executionFilters.addFilterSet(project.getGlobalFilterSet());
}
for (Enumeration filterEnum = filterSets.elements();
filterEnum.hasMoreElements();) {
-
executionFilterSet.addFilterSet((FilterSet)filterEnum.nextElement());
+
executionFilters.addFilterSet((FilterSet)filterEnum.nextElement());
}
- fileUtils.copyFile(fromFile, toFile, executionFilterSet,
+ fileUtils.copyFile(fromFile, toFile, executionFilters,
forceOverwrite, preserveLastModified);
} catch (IOException ioe) {
String msg = "Failed to copy " + fromFile + " to " +
toFile
1.2 +3 -3
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java
Index: DependSet.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DependSet.java 2001/08/06 14:32:46 1.1
+++ DependSet.java 2001/08/18 14:59:39 1.2
@@ -105,7 +105,7 @@
* </li></ulist>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Craeg Strong</a>
- * @version $Revision: 1.1 $ $Date: 2001/08/06 14:32:46 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/18 14:59:39 $
*/
public class DependSet extends MatchingTask {
@@ -187,7 +187,7 @@
for (int i = 0; i < targetFiles.length; i++) {
File dest = new File(targetFS.getDir(project), targetFiles[i]);
- allTargets.add(dest);
+ allTargets.addElement(dest);
if (dest.lastModified() > now) {
log("Warning: "+targetFiles[i]+" modified in the future.",
@@ -215,7 +215,7 @@
continue;
}
else {
- allTargets.add(dest);
+ allTargets.addElement(dest);
}
if (dest.lastModified() > now) {
log("Warning: "+targetFiles[i]+" modified in the future.",
1.16 +1 -1
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
Index: ExecuteJava.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ExecuteJava.java 2001/07/22 15:44:11 1.15
+++ ExecuteJava.java 2001/08/18 14:59:39 1.16
@@ -114,7 +114,7 @@
if (classpath == null) {
target = Class.forName(classname);
} else {
- loader = new AntClassLoader(project.getSystemLoader(),
project, classpath, false);
+ loader = new AntClassLoader(project.getCoreLoader(),
project, classpath, false);
loader.setIsolated(true);
loader.setThreadContextLoader();
target = loader.forceLoadClass(classname);
1.22 +10 -1
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jar.java
Index: Jar.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Jar.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- Jar.java 2001/08/01 12:56:23 1.21
+++ Jar.java 2001/08/18 14:59:39 1.22
@@ -70,7 +70,9 @@
private File manifestFile;
private Manifest manifest;
- private Manifest execManifest;
+ private Manifest execManifest;
+
+ /** true if a manifest has been specified in the task */
private boolean buildFileManifest = false;
public Jar() {
@@ -279,15 +281,22 @@
theZipFile = new java.util.zip.ZipFile(zipFile);
java.util.zip.ZipEntry entry =
theZipFile.getEntry("META-INF/MANIFEST.MF");
if (entry == null) {
+ log("Updating jar since the current jar has no
manifest", Project.MSG_VERBOSE);
return false;
}
Manifest currentManifest = new
Manifest(theZipFile.getInputStream(entry));
+ if (manifest == null) {
+ manifest = getDefaultManifest();
+ }
if (!currentManifest.equals(manifest)) {
+ log("Updating jar since jar manifest has changed",
Project.MSG_VERBOSE);
return false;
}
}
catch (Exception e) {
// any problems and we will rebuild
+ log("Updating jar since cannot read current jar manifest: "
+ e.getClass().getName() + e.getMessage(),
+ Project.MSG_VERBOSE);
return false;
}
finally {
1.68 +15 -0
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java
Index: Javac.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- Javac.java 2001/08/07 11:53:43 1.67
+++ Javac.java 2001/08/18 14:59:39 1.68
@@ -115,6 +115,7 @@
private boolean includeAntRuntime = true;
private boolean includeJavaRuntime = false;
private boolean fork = false;
+ private boolean nowarn = false;
protected boolean failOnError = true;
protected File[] compileList = new File[0];
@@ -409,6 +410,20 @@
this.fork = fork;
}
+
+ /**
+ * Sets whether the -nowarn option should be used.
+ */
+ public void setNowarn(boolean flag) {
+ this.nowarn = flag;
+ }
+
+ /**
+ * Should the -nowarn option be used.
+ */
+ public boolean getNowarn() {
+ return nowarn;
+ }
/**
* Executes the task.
1.58 +3 -2
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
Index: Javadoc.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- Javadoc.java 2001/07/18 10:07:02 1.57
+++ Javadoc.java 2001/08/18 14:59:39 1.58
@@ -681,9 +681,10 @@
public String getPackages() {
StringBuffer p = new StringBuffer( "\"" );
for (int i = 0; i < packages.size(); i++) {
- p.append( packages.elementAt( i ).toString() );
- if ( i > 0 )
+ if ( i > 0 ) {
p.append( ":" );
+ }
+ p.append( packages.elementAt(i).toString() );
}
p.append( "\"" );
return p.toString();
1.8 +4 -4
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Move.java
Index: Move.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Move.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Move.java 2001/08/07 06:59:35 1.7
+++ Move.java 2001/08/18 14:59:39 1.8
@@ -123,14 +123,14 @@
try {
log("Moving " + fromFile + " to " + toFile,
verbosity);
- FilterSet executionFilterSet = new FilterSet();
+ FilterSetCollection executionFilters = new
FilterSetCollection();
if (filtering) {
-
executionFilterSet.addFilterSet(project.getGlobalFilterSet());
+
executionFilters.addFilterSet(project.getGlobalFilterSet());
}
for (Enumeration filterEnum =
getFilterSets().elements(); filterEnum.hasMoreElements();) {
-
executionFilterSet.addFilterSet((FilterSet)filterEnum.nextElement());
+
executionFilters.addFilterSet((FilterSet)filterEnum.nextElement());
}
- getFileUtils().copyFile(f, d, executionFilterSet,
+ getFileUtils().copyFile(f, d, executionFilters,
forceOverwrite);
f = new File(fromFile);
1.4 +36 -4
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTLiaison.java
Index: XSLTLiaison.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTLiaison.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XSLTLiaison.java 2001/01/03 14:18:31 1.3
+++ XSLTLiaison.java 2001/08/18 14:59:39 1.4
@@ -54,19 +54,51 @@
package org.apache.tools.ant.taskdefs;
-import org.apache.tools.ant.*;
+import java.io.File;
/**
+ * Proxy interface for XSLT processors.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a>
- * @version $Revision: 1.3 $ $Date: 2001/01/03 14:18:31 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Bailliez</a>
+ * @see #XSLTProcess
*/
public interface XSLTLiaison {
- public void setStylesheet(String fileName) throws Exception;
+ /**
+ * the file protocol prefix for systemid.
+ * This file protocol must be appended to an absolute path.
+ * Typically: <tt>FILE_PROTOCOL_PREFIX + file.getAbsolutePath()</tt>
+ * This is not correct in specification terms since an absolute
+ * url in Unix is file:// + file.getAbsolutePath() while it is
+ * file:/// + file.getAbsolutePath() under Windows.
+ * Whatever, it should not be a problem to put file:/// in every
+ * case since most parsers for now incorrectly makes no difference
+ * between it.. and users also have problem with that :)
+ */
+ public final static String FILE_PROTOCOL_PREFIX = "file:///";
+ /**
+ * set the stylesheet to use for the transformation.
+ * @param stylesheet the stylesheet to be used for transformation.
+ */
+ public void setStylesheet(File stylesheet) throws Exception;
+
+ /**
+ * Add a parameter to be set during the XSL transformation.
+ * @param name the parameter name.
+ * @param expression the parameter value as an expression string.
+ * @throws Exception thrown if any problems happens.
+ */
public void addParam(String name, String expression) throws Exception;
- public void transform(String infile, String outfile) throws Exception;
+ /**
+ * Perform the transformation of a file into another.
+ * @param infile the input file, probably an XML one. :-)
+ * @param outfile the output file resulting from the transformation
+ * @throws Exception thrown if any problems happens.
+ * @see #setStylesheet(File)
+ */
+ public void transform(File infile, File outfile) throws Exception;
} //-- XSLTLiaison
1.24 +20 -20
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
Index: XSLTProcess.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- XSLTProcess.java 2001/08/08 16:13:08 1.23
+++ XSLTProcess.java 2001/08/18 14:59:39 1.24
@@ -88,7 +88,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Russell Gold</a>
* @author <a href="[EMAIL PROTECTED]">Stefan Bodewig</a>
- * @version $Revision: 1.23 $ $Date: 2001/08/08 16:13:08 $
+ * @version $Revision: 1.24 $ $Date: 2001/08/18 14:59:39 $
*/
public class XSLTProcess extends MatchingTask {
@@ -100,9 +100,9 @@
private String targetExtension = ".html";
private Vector params = new Vector();
-
+
private File inFile = null;
-
+
private File outFile = null;
private String processor;
@@ -137,7 +137,7 @@
if (baseDir == null) {
baseDir = project.resolveFile(".");
}
-
+
liaison = getLiaison();
log("Using "+liaison.getClass().toString(), Project.MSG_VERBOSE);
@@ -178,7 +178,7 @@
for (int i = 0;i < list.length; ++i) {
process( baseDir, list[i], destDir, stylesheet );
}
-
+
// Process all the directoried marked for styling
dirs = scanner.getIncludedDirectories();
for (int j = 0;j < dirs.length;++j){
@@ -264,15 +264,15 @@
*/
private void resolveProcessor(String proc) throws Exception {
if (proc.equals("trax")) {
- final Class clazz =
+ final Class clazz =
loadClass("org.apache.tools.ant.taskdefs.optional.TraXLiaison");
liaison = (XSLTLiaison)clazz.newInstance();
} else if (proc.equals("xslp")) {
- final Class clazz =
+ final Class clazz =
loadClass("org.apache.tools.ant.taskdefs.optional.XslpLiaison");
liaison = (XSLTLiaison) clazz.newInstance();
} else if (proc.equals("xalan")) {
- final Class clazz =
+ final Class clazz =
loadClass("org.apache.tools.ant.taskdefs.optional.XalanLiaison");
liaison = (XSLTLiaison)clazz.newInstance();
} else {
@@ -313,14 +313,14 @@
* Processes the given input XML file and stores the result
* in the given resultFile.
**/
- private void process(File baseDir, String xmlFile, File destDir,
+ private void process(File baseDir, String xmlFile, File destDir,
File stylesheet)
throws BuildException {
String fileExt=targetExtension;
File outFile=null;
File inFile=null;
-
+
try {
long styleSheetLastModified = stylesheet.lastModified();
inFile = new File(baseDir,xmlFile);
@@ -337,7 +337,7 @@
log("Transforming into "+destDir);
configureLiaison(stylesheet);
- liaison.transform(inFile.toString(), outFile.toString());
+ liaison.transform(inFile, outFile);
}
}
catch (Exception ex) {
@@ -347,7 +347,7 @@
if (outFile != null) {
outFile.delete();
}
-
+
throw new BuildException(ex);
}
@@ -365,7 +365,7 @@
ensureDirectoryFor( outFile );
log("Processing " + inFile + " to " + outFile,
Project.MSG_INFO);
configureLiaison(stylesheet);
- liaison.transform(inFile.toString(), outFile.toString());
+ liaison.transform(inFile, outFile);
}
}catch (Exception ex) {
log("Failed to process " + inFile, Project.MSG_INFO);
@@ -378,12 +378,12 @@
File directory = new File( targetFile.getParent() );
if (!directory.exists()) {
if (!directory.mkdirs()) {
- throw new BuildException("Unable to create directory: "
+ throw new BuildException("Unable to create directory: "
+ directory.getAbsolutePath() );
}
}
}
-
+
protected XSLTLiaison getLiaison() {
// if processor wasn't specified, see if TraX is available. If not,
// default it to xslp or xalan, depending on which is in the
classpath
@@ -424,20 +424,20 @@
public class Param {
private String name=null;
private String expression=null;
-
+
public void setName(String name){
this.name = name;
}
-
+
public void setExpression(String expression){
this.expression = expression;
}
-
+
public String getName() throws BuildException{
if(name==null)throw new BuildException("Name attribute is
missing.");
return name;
}
-
+
public String getExpression() throws BuildException{
if(expression==null)throw new BuildException("Expression
attribute is missing.");
return expression;
@@ -455,7 +455,7 @@
try {
log( "Loading stylesheet " + stylesheet, Project.MSG_INFO);
- liaison.setStylesheet( stylesheet.toString() );
+ liaison.setStylesheet( stylesheet );
for(Enumeration e = params.elements();e.hasMoreElements();) {
Param p = (Param)e.nextElement();
liaison.addParam( p.getName(), p.getExpression() );
1.89 +2 -2
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/defaults.properties
Index: defaults.properties
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/defaults.properties,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- defaults.properties 2001/08/06 14:32:46 1.88
+++ defaults.properties 2001/08/18 14:59:39 1.89
@@ -113,8 +113,8 @@
iplanet-ejbc=org.apache.tools.ant.taskdefs.optional.ejb.IPlanetEjbcTask
jdepend=org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask
mimemail=org.apache.tools.ant.taskdefs.optional.net.MimeMail
-cccheckin=org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckin
-cccheckout=org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckout
+ccmcheckin=org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckin
+ccmcheckout=org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckout
ccmcheckintask=org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckinDefault
ccmreconfigure=org.apache.tools.ant.taskdefs.optional.ccm.CCMReconfigure
ccmcreatetask=org.apache.tools.ant.taskdefs.optional.ccm.CCMCreateTask
1.7 +4 -0
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
Index: DefaultCompilerAdapter.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DefaultCompilerAdapter.java 2001/08/03 14:36:48 1.6
+++ DefaultCompilerAdapter.java 2001/08/18 14:59:39 1.7
@@ -206,6 +206,10 @@
protected Commandline setupJavacCommandlineSwitches(Commandline cmd) {
Path classpath = getCompileClasspath();
+ if (attributes.getNowarn()) {
+ cmd.createArgument().setValue("-nowarn");
+ }
+
if (deprecation == true) {
cmd.createArgument().setValue("-deprecation");
}
1.2 +15 -1
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/Jikes.java
Index: Jikes.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/compilers/Jikes.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Jikes.java 2001/01/12 14:08:51 1.1
+++ Jikes.java 2001/08/18 14:59:39 1.2
@@ -173,7 +173,21 @@
* warning can be pretty annoying.
*/
String warningsProperty =
project.getProperty("build.compiler.warnings");
- if (warningsProperty != null &&
!Project.toBoolean(warningsProperty)) {
+ if (warningsProperty != null) {
+ attributes.log("!! the build.compiler.warnings property is
deprecated. !!",
+ Project.MSG_WARN);
+ attributes.log("!! Use the nowarn attribute instead. !!",
+ Project.MSG_WARN);
+ if (!Project.toBoolean(warningsProperty)) {
+ cmd.createArgument().setValue("-nowarn");
+ }
+ } if (attributes.getNowarn()) {
+ /*
+ * FIXME later
+ *
+ * let the magic property win over the attribute for backwards
+ * compatibility
+ */
cmd.createArgument().setValue("-nowarn");
}
1.4 +68 -20
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java
Index: TraXLiaison.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TraXLiaison.java 2001/08/07 23:39:49 1.3
+++ TraXLiaison.java 2001/08/18 14:59:39 1.4
@@ -54,61 +54,109 @@
package org.apache.tools.ant.taskdefs.optional;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import org.apache.tools.ant.taskdefs.XSLTLiaison;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Templates;
+import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
/**
+ * Concrete liaison for XSLT processor implementing TraX. (ie JAXP 1.1)
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a>
- * @version $Revision: 1.3 $ $Date: 2001/08/07 23:39:49 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Bailliez</a>
*/
public class TraXLiaison implements XSLTLiaison {
- protected final static String FILEURL = "file:";
-
/** The trax TransformerFactory */
private TransformerFactory tfactory = null;
+ /** stylesheet stream, close it asap */
+ private FileInputStream xslStream = null;
+
/** Stylesheet template */
private Templates templates = null;
- /** The trax Transformer itself */
- private Transformer transformer;
+ /** transformer */
+ private Transformer transformer = null;
public TraXLiaison() throws Exception {
tfactory = TransformerFactory.newInstance();
}
-
- public void setStylesheet(String fileName) throws Exception {
- templates = tfactory.newTemplates(new
StreamSource(normalize(fileName)));
+//------------------- IMPORTANT
+ // 1) Don't use the StreamSource(File) ctor. It won't work with
+ // xalan prior to 2.2 because of systemid bugs.
+
+ // 2) Use a stream so that you can close it yourself quickly
+ // and avoid keeping the handle until the object is garbaged.
+ // (always keep control), otherwise you won't be able to delete
+ // the file quickly on windows.
+
+ // 3) Always set the systemid to the source for imports, includes...
+ // in xsl and xml...
+
+ public void setStylesheet(File stylesheet) throws Exception {
+ xslStream = new FileInputStream(stylesheet);
+ StreamSource src = new StreamSource(xslStream);
+ src.setSystemId(getSystemId(stylesheet));
+ templates = tfactory.newTemplates(src);
transformer = templates.newTransformer();
- };
+ }
- public void transform(String infile, String outfile) throws Exception {
- FileOutputStream out = new FileOutputStream(outfile);
+ public void transform(File infile, File outfile) throws Exception {
+ FileInputStream fis = null;
+ FileOutputStream fos = null;
try {
- transformer.transform(new StreamSource(normalize(infile)),
- new StreamResult(out));
+ fis = new FileInputStream(infile);
+ fos = new FileOutputStream(outfile);
+ StreamSource src = new StreamSource(fis);
+ src.setSystemId(getSystemId(infile));
+ StreamResult res = new StreamResult(fos);
+ // not sure what could be the need of this...
+ res.setSystemId(getSystemId(outfile));
+
+ transformer.transform(src, res);
} finally {
- out.close();
+ // make sure to close all handles, otherwise the garbage
+ // collector will close them...whenever possible and
+ // Windows may complain about not being able to delete files.
+ try {
+ if (xslStream != null){
+ xslStream.close();
+ }
+ } catch (IOException ignored){}
+ try {
+ if (fis != null){
+ fis.close();
+ }
+ } catch (IOException ignored){}
+ try {
+ if (fos != null){
+ fos.close();
+ }
+ } catch (IOException ignored){}
}
}
- protected String normalize(String fileName) {
- if(fileName != null && !fileName.startsWith(FILEURL)) {
- return FILEURL + "///" + fileName;
- }
- return fileName;
+ // make sure that the systemid is made of '/' and not '\' otherwise
+ // crimson will complain that it cannot resolve relative entities
+ // because it grabs the base uri via lastIndexOf('/') without
+ // making sure it is really a /'ed path
+ protected String getSystemId(File file){
+ String path = file.getAbsolutePath();
+ path = path.replace('\\','/');
+ return FILE_PROTOCOL_PREFIX + path;
}
-
+
public void addParam(String name, String value){
transformer.setParameter(name, value);
}
1.6 +48 -17
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java
Index: XalanLiaison.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XalanLiaison.java 2001/01/03 14:18:35 1.5
+++ XalanLiaison.java 2001/08/18 14:59:39 1.6
@@ -60,39 +60,70 @@
import org.apache.xalan.xslt.XSLTProcessor;
import org.apache.xalan.xslt.XSLTInputSource;
import org.apache.xalan.xslt.XSLTResultTarget;
+import org.xml.sax.InputSource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
/**
+ * Concrete liaison for Xalan 1.x API.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a>
- * @version $Revision: 1.5 $ $Date: 2001/01/03 14:18:35 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Bailliez</a>
*/
public class XalanLiaison implements XSLTLiaison {
-
- protected final static String FILEURL = "file:";
- XSLTProcessor processor;
- XSLTInputSource xslSheet;
+ protected XSLTProcessor processor;
+ protected File stylesheet;
public XalanLiaison() throws Exception {
processor = XSLTProcessorFactory.getProcessor();
}
- public void setStylesheet(String fileName) throws Exception {
- xslSheet = new XSLTInputSource (normalize(fileName));
- };
-
- public void transform(String infile, String outfile) throws Exception {
- processor.process(new XSLTInputSource(normalize(infile)), xslSheet,
- new XSLTResultTarget(outfile));
+ public void setStylesheet(File stylesheet) throws Exception {
+ this.stylesheet = stylesheet;
}
- protected String normalize(String fileName) {
- if(fileName != null && !fileName.startsWith(FILEURL)) {
- return FILEURL + fileName;
+ public void transform(File infile, File outfile) throws Exception {
+ FileInputStream fis = null;
+ FileOutputStream fos = null;
+ FileInputStream xslStream = null;
+ try {
+ xslStream = new FileInputStream(stylesheet);
+ fis = new FileInputStream(infile);
+ fos = new FileOutputStream(outfile);
+ // systemid such as file:/// + getAbsolutePath() are considered
+ // invalid here...
+ XSLTInputSource xslSheet = new XSLTInputSource(xslStream);
+ xslSheet.setSystemId(stylesheet.getAbsolutePath());
+ XSLTInputSource src = new XSLTInputSource(fis);
+ src.setSystemId(infile.getAbsolutePath());
+ XSLTResultTarget res = new XSLTResultTarget(fos);
+ processor.process(src, xslSheet, res);
+ } finally {
+ // make sure to close all handles, otherwise the garbage
+ // collector will close them...whenever possible and
+ // Windows may complain about not being able to delete files.
+ try {
+ if (xslStream != null){
+ xslStream.close();
+ }
+ } catch (IOException ignored){}
+ try {
+ if (fis != null){
+ fis.close();
+ }
+ } catch (IOException ignored){}
+ try {
+ if (fos != null){
+ fos.close();
+ }
+ } catch (IOException ignored){}
}
- return fileName;
}
-
+
public void addParam(String name, String value){
processor.setStylesheetParam(name, value);
}
1.6 +22 -17
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java
Index: XslpLiaison.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XslpLiaison.java 2001/06/22 07:24:18 1.5
+++ XslpLiaison.java 2001/08/18 14:59:39 1.6
@@ -54,40 +54,45 @@
package org.apache.tools.ant.taskdefs.optional;
-import java.io.FileWriter;
+import java.io.*;
+import java.net.URL;
import org.apache.tools.ant.taskdefs.XSLTLiaison;
+import org.xml.sax.InputSource;
-import com.kvisco.xsl.XSLProcessor;
-import com.kvisco.xsl.XSLReader;
-import com.kvisco.xsl.XSLStylesheet;
+import com.kvisco.xsl.*;
/**
+ * Concrete liaison for XSLP
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a>
- * @version $Revision: 1.5 $ $Date: 2001/06/22 07:24:18 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Bailliez</a>
*/
public class XslpLiaison implements XSLTLiaison {
- XSLProcessor processor;
- XSLStylesheet xslSheet;
+ protected XSLProcessor processor;
+ protected XSLStylesheet xslSheet;
public XslpLiaison() {
processor = new XSLProcessor();
+ // uh ?! I'm forced to do that otherwise a setProperty crashes with
NPE !
+ // I don't understand why the property map is static though...
+ // how can we do multithreading w/ multiple identical parameters ?
+ processor.getProperty("dummy-to-init-properties-map");
}
- public void setStylesheet(String fileName) throws Exception {
+ public void setStylesheet(File fileName) throws Exception {
XSLReader xslReader = new XSLReader();
- xslSheet = xslReader.read( fileName );
- };
+ // a file:/// + getAbsolutePath() does not work here
+ // it is really the pathname
+ xslSheet = xslReader.read( fileName.getAbsolutePath() );
+ }
- public void transform(String infile, String outfile) throws Exception {
- FileWriter out = new FileWriter(outfile);
- try {
- processor.process(infile, xslSheet, out);
- } finally {
- out.close();
- }
+ public void transform(File infile, File outfile) throws Exception {
+ FileOutputStream fos = new FileOutputStream(outfile);
+ // XSLP does not support encoding...we're in hot water.
+ OutputStreamWriter out = new OutputStreamWriter(fos,"UTF8");
+ processor.process(infile.getAbsolutePath(), xslSheet, out);
}
public void addParam(String name, String expression){
1.9 +96 -47
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
Index: Depend.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Depend.java 2001/07/25 12:12:11 1.8
+++ Depend.java 2001/08/18 14:59:39 1.9
@@ -138,6 +138,12 @@
private Path dependClasspath;
/**
+ * constants used with the cache file
+ */
+ private final static String CACHE_FILE_NAME = "dependencies.txt";
+ private final static String CLASSNAME_PREPEND = "||:";
+
+ /**
* Set the classpath to be used for this dependency check.
*/
public void setClasspath(Path classpath) {
@@ -169,46 +175,74 @@
public void setClasspathRef(Reference r) {
createClasspath().setRefid(r);
}
-
- private void writeDependencyList(File depFile, Vector dependencyList)
throws IOException {
- // new dependencies so need to write them out to the cache
- PrintWriter pw = null;
- try {
- String parent = depFile.getParent();
- if (parent != null) {
- new File(parent).mkdirs();
- }
-
- pw = new PrintWriter(new FileWriter(depFile));
- for (Enumeration deps = dependencyList.elements();
deps.hasMoreElements();) {
- pw.println(deps.nextElement());
- }
- }
- finally {
- if (pw != null) {
- pw.close();
+
+ /**
+ * Read the dependencies from cache file
+ */
+ private Hashtable readCachedDependencies() throws IOException{
+ Hashtable dependencyMap = new Hashtable();
+
+ if (cache != null) {
+ File depFile = new File(cache, CACHE_FILE_NAME);
+ BufferedReader in = null;
+ if (depFile.exists()) {
+ try {
+ in = new BufferedReader(new FileReader(depFile));
+ String line = null;
+ Vector dependencyList = null;
+ String className = null;
+ int prependLength = CLASSNAME_PREPEND.length();
+ while ((line = in.readLine()) != null) {
+ if (line.startsWith(CLASSNAME_PREPEND)) {
+ dependencyList = new Vector();
+ className = line.substring(prependLength);
+ dependencyMap.put(className, dependencyList);
+ }
+ else {
+ dependencyList.addElement(line);
+ }
+ }
+ }
+ finally {
+ if (in != null) {
+ in.close();
+ }
+ }
}
}
+
+ return dependencyMap;
}
-
- private Vector readDependencyList(File depFile) throws IOException {
- Vector dependencyList = null;
- BufferedReader in = null;
- try {
- in = new BufferedReader(new FileReader(depFile));
- String line = null;
- dependencyList = new Vector();
- while ((line = in.readLine()) != null) {
- dependencyList.addElement(line);
+
+ /**
+ * Write the dependencies to cache file
+ */
+ private void writeCachedDependencies(Hashtable dependencyMap) throws
IOException{
+ if (cache != null) {
+ PrintWriter pw = null;
+ try {
+ cache.mkdirs();
+ File depFile = new File(cache, CACHE_FILE_NAME);
+
+ pw = new PrintWriter(new FileWriter(depFile));
+ for (Enumeration deps = dependencyMap.keys();
deps.hasMoreElements();) {
+ String className = (String)deps.nextElement();
+
+ pw.println(CLASSNAME_PREPEND + className);
+
+ Vector dependencyList =
(Vector)dependencyMap.get(className);
+ int size = dependencyList.size();
+ for (int x = 0; x < size; x++) {
+ pw.println(dependencyList.elementAt(x));
+ }
+ }
}
- }
- finally {
- if (in != null) {
- in.close();
+ finally {
+ if (pw != null) {
+ pw.close();
+ }
}
}
-
- return dependencyList;
}
@@ -221,7 +255,20 @@
private void determineDependencies() throws IOException {
affectedClassMap = new Hashtable();
classFileInfoMap = new Hashtable();
- Hashtable dependencyMap = new Hashtable();
+ boolean cacheDirty = false;
+
+ Hashtable dependencyMap = null;
+ File depCacheFile = null;
+ boolean depCacheFileExists = true;
+ long depCacheFileLastModified = Long.MAX_VALUE;
+
+ // read the dependency cache from the disk
+ if (cache != null) {
+ dependencyMap = readCachedDependencies();
+ depCacheFile = new File(cache, CACHE_FILE_NAME);
+ depCacheFileExists = depCacheFile.exists();
+ depCacheFileLastModified = depCacheFile.lastModified();
+ }
for (Enumeration e = getClassFiles(destPath).elements();
e.hasMoreElements(); ) {
ClassFileInfo info = (ClassFileInfo)e.nextElement();
log("Adding class info for " + info.className,
Project.MSG_DEBUG);
@@ -230,12 +277,11 @@
Vector dependencyList = null;
if (cache != null) {
- // try to read the dependency info from the cache if it is
not out of date
- File depFile = new File(cache, info.relativeName + ".dep");
- if (depFile.exists() && depFile.lastModified() >
info.absoluteFile.lastModified()) {
+ // try to read the dependency info from the map if it is not
out of date
+ if (depCacheFileExists && depCacheFileLastModified >
info.absoluteFile.lastModified()) {
// depFile exists and is newer than the class file
- // need to read dependency list from the file.
- dependencyList = readDependencyList(depFile);
+ // need to get dependency list from the map.
+ dependencyList =
(Vector)dependencyMap.get(info.className);
}
}
@@ -248,12 +294,11 @@
classFile.read(inFileStream);
dependencyList = classFile.getClassRefs();
-
- if (cache != null) {
- // new dependencies so need to write them out to the
cache
- File depFile = new File(cache, info.relativeName +
".dep");
- writeDependencyList(depFile, dependencyList);
+ if (dependencyList != null) {
+ cacheDirty = true;
+ dependencyMap.put(info.className, dependencyList);
}
+
}
finally {
if (inFileStream != null) {
@@ -261,8 +306,7 @@
}
}
}
-
- dependencyMap.put(info.className, dependencyList);
+
// This class depends on each class in the dependency list. For
each
// one of those, add this class into their affected classes list
for (Enumeration depEnum = dependencyList.elements();
depEnum.hasMoreElements(); ) {
@@ -325,6 +369,11 @@
}
}
}
+ }
+
+ // write the dependency cache to the disk
+ if (cache != null && cacheDirty) {
+ writeCachedDependencies(dependencyMap);
}
}
1.12 +14 -3
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
Index: DescriptorHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- DescriptorHandler.java 2001/08/08 11:43:35 1.11
+++ DescriptorHandler.java 2001/08/18 14:59:39 1.12
@@ -87,6 +87,7 @@
* Bunch of constants used for storing entries in a hashtable, and for
* constructing the filenames of various parts of the ejb jar.
*/
+ private static final String EJB_REF = "ejb-ref";
private static final String HOME_INTERFACE = "home";
private static final String REMOTE_INTERFACE = "remote";
private static final String BEAN_CLASS = "ejb-class";
@@ -130,6 +131,8 @@
private Hashtable resourceDTDs = new Hashtable();
+ private boolean inEJBRef = false;
+
private Hashtable urlDTDs = new Hashtable();
/**
@@ -244,6 +247,7 @@
public void startDocument() throws SAXException {
this.ejbFiles = new Hashtable(10, 1);
this.currentElement = null;
+ inEJBRef = false;
}
@@ -258,7 +262,10 @@
throws SAXException {
this.currentElement = name;
currentText = "";
- if (parseState == STATE_LOOKING_EJBJAR && name.equals(EJB_JAR)) {
+ if (name.equals(EJB_REF)) {
+ inEJBRef = true;
+ }
+ else if (parseState == STATE_LOOKING_EJBJAR && name.equals(EJB_JAR))
{
parseState = STATE_IN_EJBJAR;
}
else if (parseState == STATE_IN_EJBJAR &&
name.equals(ENTERPRISE_BEANS)) {
@@ -286,7 +293,10 @@
processElement();
currentText = "";
this.currentElement = "";
- if (parseState == STATE_IN_ENTITY && name.equals(ENTITY_BEAN )) {
+ if (name.equals(EJB_REF)) {
+ inEJBRef = false;
+ }
+ else if (parseState == STATE_IN_ENTITY && name.equals(ENTITY_BEAN ))
{
parseState = STATE_IN_BEANS;
}
else if (parseState == STATE_IN_SESSION &&
name.equals(SESSION_BEAN)) {
@@ -323,7 +333,8 @@
protected void processElement() {
- if (parseState != STATE_IN_ENTITY && parseState != STATE_IN_SESSION)
{
+ if (inEJBRef ||
+ (parseState != STATE_IN_ENTITY && parseState !=
STATE_IN_SESSION)) {
return;
}
1.11 +3 -4
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java
Index: WLRun.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WLRun.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- WLRun.java 2001/07/12 12:43:01 1.10
+++ WLRun.java 2001/08/18 14:59:40 1.11
@@ -263,12 +263,11 @@
File propertiesFile = null;
+
if (weblogicPropertiesFile == null) {
- propertiesFile = new File(weblogicSystemHome,
DEFAULT_PROPERTIES_FILE);
+ weblogicPropertiesFile = DEFAULT_PROPERTIES_FILE;
}
- else {
- propertiesFile = new File(weblogicSystemHome,
weblogicPropertiesFile);
- }
+ propertiesFile = new File(weblogicSystemHome,
weblogicPropertiesFile);
if (!propertiesFile.exists()) {
// OK, properties file may be absolute
propertiesFile = project.resolveFile(weblogicPropertiesFile);
1.3 +35 -13
jakarta-ant/src/main/org/apache/tools/ant/types/FilterSet.java
Index: FilterSet.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/FilterSet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FilterSet.java 2001/08/06 12:49:40 1.2
+++ FilterSet.java 2001/08/18 14:59:40 1.3
@@ -176,8 +176,8 @@
/** The default token end string */
public static final String DEFAULT_TOKEN_END = "@";
- private String startOftoken = DEFAULT_TOKEN_START;
- private String endOftoken = DEFAULT_TOKEN_END;
+ private String startOfToken = DEFAULT_TOKEN_START;
+ private String endOfToken = DEFAULT_TOKEN_END;
/**
* List of ordered filters and filter files.
@@ -245,9 +245,17 @@
if (isReference()) {
throw tooManyAttributes();
}
- startOftoken = startOfToken;
+ this.startOfToken = startOfToken;
}
+
+ public String getBeginToken() {
+ if (isReference()) {
+ return getRef().getBeginToken();
+ }
+ return startOfToken;
+ }
+
/**
* The string used to id the end of a token.
*
@@ -256,10 +264,18 @@
public void setEndToken( String endOfToken ) {
if (isReference()) {
throw tooManyAttributes();
+ }
+ this.endOfToken = endOfToken;
+ }
+
+ public String getEndToken() {
+ if (isReference()) {
+ return getRef().getEndToken();
}
- endOftoken = endOfToken;
+ return endOfToken;
}
+
/**
* Read the filters from the given file.
*
@@ -268,6 +284,10 @@
* file.
*/
public void readFiltersFromFile(File filtersFile) throws BuildException {
+ if (isReference()) {
+ throw tooManyAttributes();
+ }
+
if (filtersFile.isFile()) {
log("Reading filters from " + filtersFile, Project.MSG_VERBOSE );
FileInputStream in = null;
@@ -310,7 +330,9 @@
* @return The string with the tokens replaced.
*/
public String replaceTokens(String line) {
- int index = line.indexOf(startOftoken);
+ String beginToken = getBeginToken();
+ String endToken = getEndToken();
+ int index = line.indexOf(beginToken);
if (index > -1) {
Hashtable tokens = getFilterHash();
@@ -321,24 +343,24 @@
String value = null;
do {
- int endIndex = line.indexOf(endOftoken, index +
startOftoken.length() + 1 );
+ int endIndex = line.indexOf(endToken, index +
beginToken.length() + 1 );
if (endIndex == -1) {
break;
}
- token = line.substring(index + startOftoken.length(),
endIndex );
+ token = line.substring(index + beginToken.length(),
endIndex );
b.append(line.substring(i, index));
if (tokens.containsKey(token)) {
value = (String)tokens.get(token);
- log( "Replacing: " + startOftoken + token +
endOftoken + " -> " + value, Project.MSG_VERBOSE );
+ log( "Replacing: " + beginToken + token + endToken +
" -> " + value, Project.MSG_VERBOSE );
b.append(value);
- i = index + startOftoken.length() + token.length() +
endOftoken.length();
+ i = index + beginToken.length() + token.length() +
endToken.length();
}
else {
- // just append startOftoken and search further
- b.append(startOftoken);
- i = index + startOftoken.length();
+ // just append beginToken and search further
+ b.append(beginToken);
+ i = index + beginToken.length();
}
- } while ((index = line.indexOf( startOftoken, i )) > -1 );
+ } while ((index = line.indexOf( beginToken, i )) > -1 );
b.append(line.substring(i));
return b.toString();
1.2 +127 -0
jakarta-ant/src/main/org/apache/tools/ant/types/FilterSetCollection.java
1.4 +14 -14
jakarta-ant/src/main/org/apache/tools/ant/util/FileUtils.java
Index: FileUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/util/FileUtils.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FileUtils.java 2001/08/08 16:13:08 1.3
+++ FileUtils.java 2001/08/18 14:59:40 1.4
@@ -61,7 +61,7 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.FilterSet;
+import org.apache.tools.ant.types.FilterSetCollection;
/**
* This class also encapsulates methods which allow Files to be
@@ -106,10 +106,10 @@
*
* @throws IOException
*/
- public void copyFile(String sourceFile, String destFile, FilterSet
filterSet)
+ public void copyFile(String sourceFile, String destFile,
FilterSetCollection filters)
throws IOException
{
- copyFile(new File(sourceFile), new File(destFile), filterSet, false,
false);
+ copyFile(new File(sourceFile), new File(destFile), filters, false,
false);
}
/**
@@ -119,9 +119,9 @@
*
* @throws IOException
*/
- public void copyFile(String sourceFile, String destFile, FilterSet
filterSet,
+ public void copyFile(String sourceFile, String destFile,
FilterSetCollection filters,
boolean overwrite) throws IOException {
- copyFile(new File(sourceFile), new File(destFile), filterSet,
+ copyFile(new File(sourceFile), new File(destFile), filters,
overwrite, false);
}
@@ -134,10 +134,10 @@
*
* @throws IOException
*/
- public void copyFile(String sourceFile, String destFile, FilterSet
filterSet,
+ public void copyFile(String sourceFile, String destFile,
FilterSetCollection filters,
boolean overwrite, boolean preserveLastModified)
throws IOException {
- copyFile(new File(sourceFile), new File(destFile), filterSet,
+ copyFile(new File(sourceFile), new File(destFile), filters,
overwrite, preserveLastModified);
}
@@ -157,9 +157,9 @@
*
* @throws IOException
*/
- public void copyFile(File sourceFile, File destFile, FilterSet filterSet)
+ public void copyFile(File sourceFile, File destFile, FilterSetCollection
filters)
throws IOException {
- copyFile(sourceFile, destFile, filterSet, false, false);
+ copyFile(sourceFile, destFile, filters, false, false);
}
/**
@@ -169,9 +169,9 @@
*
* @throws IOException
*/
- public void copyFile(File sourceFile, File destFile, FilterSet filterSet,
+ public void copyFile(File sourceFile, File destFile, FilterSetCollection
filters,
boolean overwrite) throws IOException {
- copyFile(sourceFile, destFile, filterSet, overwrite, false);
+ copyFile(sourceFile, destFile, filters, overwrite, false);
}
/**
@@ -183,7 +183,7 @@
*
* @throws IOException
*/
- public void copyFile(File sourceFile, File destFile, FilterSet filterSet,
+ public void copyFile(File sourceFile, File destFile, FilterSetCollection
filters,
boolean overwrite, boolean preserveLastModified)
throws IOException {
@@ -201,7 +201,7 @@
parent.mkdirs();
}
- if (filterSet != null && filterSet.hasFilters()) {
+ if (filters != null && filters.hasFilters()) {
BufferedReader in = new BufferedReader(new
FileReader(sourceFile));
BufferedWriter out = new BufferedWriter(new
FileWriter(destFile));
@@ -212,7 +212,7 @@
if (line.length() == 0) {
out.newLine();
} else {
- newline = filterSet.replaceTokens(line);
+ newline = filters.replaceTokens(line);
out.write(newline);
out.newLine();
}
1.2 +128 -0
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java
1.2 +87 -0
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
1.2 +88 -0
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/XalanLiaisonTest.java
1.2 +72 -0
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/XslpLiaisonTest.java
1.2 +144 -0
jakarta-ant/src/testcases/org/apache/tools/ant/types/FilterSetTest.java
1.3 +2 -1
jakarta-ant/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java
Index: FileUtilsTest.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FileUtilsTest.java 2001/08/08 16:13:08 1.2
+++ FileUtilsTest.java 2001/08/18 14:59:40 1.3
@@ -77,7 +77,8 @@
public void setUp() {
fu = FileUtils.newFileUtils();
- root = new File(File.separator).getAbsolutePath();
+ // Windows adds the drive letter in uppercase, unless you run Cygnus
+ root = new File(File.separator).getAbsolutePath().toUpperCase();
}
public void tearDown() {