ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bode...@locus.apache.org
Subject cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs XSLTProcess.java
Date Tue, 25 Jul 2000 08:30:40 GMT
bodewig     00/07/25 01:30:40

  Modified:    .        build.xml
               src/main/org/apache/tools/ant/taskdefs XSLTProcess.java
  Log:
  Reprocess files if stylesheet has changed in style task.
  Submitted by:	Russell Gold <russgold@acm.org>
  
  Revision  Changes    Path
  1.46      +1 -0      jakarta-ant/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/build.xml,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- build.xml	2000/07/24 15:52:51	1.45
  +++ build.xml	2000/07/25 08:30:36	1.46
  @@ -32,6 +32,7 @@
     <property name="manifest" value="src/etc/manifest"/>
   
     <property name="build.compiler" value="classic"/>
  +  <property name="build.compiler.emacs" value="on"/>
   
     <!-- =================================================================== -->
     <!-- Check to see what optional dependencies are available               -->
  
  
  
  1.7       +28 -23    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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XSLTProcess.java	2000/07/21 09:43:15	1.6
  +++ XSLTProcess.java	2000/07/25 08:30:37	1.7
  @@ -83,7 +83,8 @@
    *
    * @author <a href="mailto:kvisco@exoffice.com">Keith Visco</a>
    * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
  - * @version $Revision: 1.6 $ $Date: 2000/07/21 09:43:15 $
  + * @author <a href="mailto:russgold@acm.org">Russell Gold</a>
  + * @version $Revision: 1.7 $ $Date: 2000/07/25 08:30:37 $
    */
   public class XSLTProcess extends MatchingTask {
   
  @@ -138,38 +139,40 @@
   
   	log("Using "+liaison.getClass().toString(), Project.MSG_VERBOSE);
   
  -	try {
  -	    // Create a new XSL processor with the specified stylesheet
  -	    if (xslFile != null) {
  -                String file = new File(baseDir,xslFile.toString()).toString();
  -		log("Loading stylesheet " + file, Project.MSG_INFO);
  -                liaison.setStylesheet( file );
  -	    }
  -	} catch (Exception ex) {
  -	    log("Failed to read stylesheet " + xslFile, Project.MSG_INFO);
  -            throw new BuildException(ex);
  -	}
  +        long styleSheetLastModified = 0;
  +        if (xslFile != null) {
  +            try {
  +                // Create a new XSL processor with the specified stylesheet
  +                File file = new File( baseDir, xslFile.toString() );
  +                styleSheetLastModified = file.lastModified();
  +                log( "Loading stylesheet " + file, Project.MSG_INFO);
  +                liaison.setStylesheet( file.toString() );
  +            } catch (Exception ex) {
  +                log("Failed to read stylesheet " + xslFile, Project.MSG_INFO);
  +                throw new BuildException(ex);
  +            }
  +        }
   
   	// Process all the files marked for styling
   	list = scanner.getIncludedFiles();
   	for (int i = 0;i < list.length; ++i) {
  -	    process(baseDir,list[i],destDir);
  +            process( baseDir, list[i], destDir, styleSheetLastModified );
   	}
  -
  +        
   	// Process all the directoried marked for styling
   	dirs = scanner.getIncludedDirectories();
   	for (int j = 0;j < dirs.length;++j){
   	    list=new File(baseDir,dirs[j]).list();
   	    for (int i = 0;i < list.length;++i)
  -		process(baseDir,list[i],destDir);
  +                process( baseDir, list[i], destDir, styleSheetLastModified );
   	}
       } //-- execute
   
       /**
        * Set the base directory.
       **/
  -    public void setBasedir(String dirName) {
  -	    baseDir = project.resolveFile(dirName);
  +    public void setBasedir(File dir) {
  +        baseDir = dir;
       } //-- setSourceDir
   
       /**
  @@ -177,8 +180,8 @@
        * files should be copied to
        * @param dirName the name of the destination directory
       **/
  -    public void setDestdir(String dirName) {
  -	    destDir = project.resolveFile(dirName);
  +    public void setDestdir(File dir) {
  +        destDir = dir;
       } //-- setDestDir
   
       /**
  @@ -284,9 +287,10 @@
        * Processes the given input XML file and stores the result
        * in the given resultFile.
       **/
  -    private void process(File baseDir,String xmlFile,File destDir)
  -        throws BuildException
  -    {
  +    private void process(File baseDir, String xmlFile, File destDir, 
  +                         long styleSheetLastModified)
  +        throws BuildException {
  +
   	String fileExt=targetExtension;
   	File   outFile=null;
   	File   inFile=null;
  @@ -294,7 +298,8 @@
   	try {
   	    inFile = new File(baseDir,xmlFile);
   	    outFile = new File(destDir,xmlFile.substring(0,xmlFile.lastIndexOf('.'))+fileExt);
  -	    if (inFile.lastModified() > outFile.lastModified()) {
  +	    if (inFile.lastModified() > outFile.lastModified() ||
  +                styleSheetLastModified > outFile.lastModified()) {
                   ensureDirectoryFor( outFile );
   		//-- command line status
   		log("Processing " + xmlFile + " to " + outFile, Project.MSG_VERBOSE);
  
  
  

Mime
View raw message