Author: stevel Date: Tue Oct 16 03:50:59 2007 New Revision: 585108 URL: http://svn.apache.org/viewvc?rev=585108&view=rev Log: Bug ID 43635 <xslt> task can't be used more than once with a file stylesheet
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java?rev=585108&r1=585107&r2=585108&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java Tue Oct 16 03:50:59 2007 @@ -35,6 +35,7 @@ import org.apache.tools.ant.types.resources.FileResource; import org.apache.tools.ant.types.resources.Resources; import org.apache.tools.ant.types.resources.Union; +import org.apache.tools.ant.types.resources.FileProvider; import org.apache.tools.ant.util.FileNameMapper; import org.apache.tools.ant.util.FileUtils; @@ -285,8 +286,9 @@ throw new BuildException("input file " + inFile + " does not exist", getLocation()); } try { + Resource styleResource; if (baseDir == null) { - baseDir = getProject().resolveFile("."); + baseDir = getProject().getBaseDir(); } liaison = getLiaison(); @@ -315,11 +317,13 @@ FileResource fr = new FileResource(); fr.setProject(getProject()); fr.setFile(stylesheet); - xslResource = fr; + styleResource = fr; + } else { + styleResource = xslResource; } // if we have an in file and out then process them if (inFile != null && outFile != null) { - process(inFile, outFile, xslResource); + process(inFile, outFile, styleResource); return; } /* @@ -337,7 +341,7 @@ // Process all the files marked for styling list = scanner.getIncludedFiles(); for (int i = 0; i < list.length; ++i) { - process(baseDir, list[i], destDir, xslResource); + process(baseDir, list[i], destDir, styleResource); } if (performDirectoryScan) { // Process all the directories marked for styling @@ -346,7 +350,7 @@ list = new File(baseDir, dirs[j]).list(); for (int i = 0; i < list.length; ++i) { process(baseDir, dirs[j] + File.separator + list[i], destDir, - xslResource); + styleResource); } } } @@ -355,7 +359,7 @@ throw new BuildException("no resources specified"); } } - processResources(xslResource); + processResources(styleResource); } finally { if (loader != null) { loader.resetThreadContextLoader(); @@ -575,6 +579,7 @@ /** * Styles all existing resources. * + * @param stylesheet style sheet to use * @since Ant 1.7 */ private void processResources(Resource stylesheet) { @@ -983,8 +988,8 @@ // If we are here we cannot set the stylesheet as // a resource, but we can set it as a file. So, // we make an attempt to get it as a file - if (stylesheet instanceof FileResource) { - liaison.setStylesheet(((FileResource) stylesheet).getFile()); + if (stylesheet instanceof FileProvider) { + liaison.setStylesheet(((FileProvider) stylesheet).getFile()); } else { throw new BuildException(liaison.getClass().toString() + " accepts the stylesheet only as a file", getLocation()); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]