You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by gm...@apache.org on 2003/10/18 00:21:09 UTC
cvs commit: xml-fop/src/org/apache/fop/tools/anttasks Fop.java
gmazza 2003/10/17 15:21:09
Modified: src/org/apache/fop/tools/anttasks Tag: fop-0_20_2-maintain
Fop.java
Log:
Addition of force attribute to ant task in maintenance branch.
Submitted by: Sean Gilligan (Bug 21380).
Revision Changes Path
No revision
No revision
1.14.2.9 +52 -9 xml-fop/src/org/apache/fop/tools/anttasks/Attic/Fop.java
Index: Fop.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/tools/anttasks/Attic/Fop.java,v
retrieving revision 1.14.2.8
retrieving revision 1.14.2.9
diff -u -r1.14.2.8 -r1.14.2.9
--- Fop.java 25 Feb 2003 15:19:58 -0000 1.14.2.8
+++ Fop.java 17 Oct 2003 22:21:08 -0000 1.14.2.9
@@ -105,6 +105,7 @@
File userConfig;
int messageType = Project.MSG_VERBOSE;
boolean logFiles = true;
+ private boolean force = false;
/**
* Sets the input file
@@ -137,6 +138,24 @@
}
/**
+ * Set whether to check dependencies, or to always generate;
+ * optional, default is false.
+ *
+ * @param force true if always generate.
+ */
+ public void setForce(boolean force) {
+ this.force = force;
+ }
+
+ /**
+ * Gets the force attribute
+ * @return the force attribute
+ */
+ public boolean getForce() {
+ return force;
+ }
+
+ /**
* Sets the output file
* @param File to output to
*/
@@ -357,7 +376,10 @@
int rint = determineRenderer(task.getFormat());
String newExtension = determineExtension(rint);
+ // actioncount = # of fofiles actually processed through FOP
int actioncount = 0;
+ // skippedcount = # of fofiles which haven't changed (force = "false")
+ int skippedcount = 0;
// deal with single source file
if (task.getFofile() != null) {
@@ -369,8 +391,17 @@
if (task.getOutdir() != null) {
outf = new File(task.getOutdir(), outf.getName());
}
- render(task.getFofile(), outf, rint);
- actioncount++;
+
+ // Render if "force" flag is set OR
+ // OR output file doesn't exist OR
+ // output file is older than input file
+ if (task.getForce() || !outf.exists()
+ || (task.getFofile().lastModified() > outf.lastModified() )) {
+ render(task.getFofile(), outf, rint);
+ actioncount++;
+ } else if (outf.exists() && (task.getFofile().lastModified() <= outf.lastModified() )) {
+ skippedcount++;
+ }
}
}
@@ -413,15 +444,27 @@
task.log("Error setting base directory: " + e, Project.MSG_ERR);
}
- render(f, outf, rint);
- actioncount++;
+ // Render if "force" flag is set OR
+ // OR output file doesn't exist OR
+ // output file is older than input file
+ if (task.getForce() || !outf.exists()
+ || (f.lastModified() > outf.lastModified() )) {
+ render(f, outf, rint);
+ actioncount++;
+ } else if (outf.exists() && (f.lastModified() <= outf.lastModified() )) {
+ skippedcount++;
+ }
+
}
}
- if (actioncount == 0) {
- task.log(
- "No files processed. No files were selected by the filesets and no fofile was set." ,
- Project.MSG_WARN);
+ if (actioncount + skippedcount == 0) {
+ task.log("No files processed. No files were selected by the filesets "
+ + "and no fofile was set." , Project.MSG_WARN);
+ } else if (skippedcount > 0) {
+ task.log(skippedcount + " xslfo file(s) skipped (no change found"
+ + " since last generation; set force=\"true\" to override)."
+ , Project.MSG_INFO);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org