ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ste...@apache.org
Subject svn commit: r585108 - /ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
Date Tue, 16 Oct 2007 10:51:01 GMT
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: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message