jeremias 2003/11/22 11:48:21
Modified: src/java/org/apache/fop/tools/anttasks Fop.java
Log:
New feature for the Ant task: relativebase="true" uses the directory of each FO-file
in a fileset as basedir. This is in contrast to the general basedir parameter.
Submitted by: Joe DeVivo <fop.at.joedevivo.com>
Revision Changes Path
1.10 +28 -2 xml-fop/src/java/org/apache/fop/tools/anttasks/Fop.java
Index: Fop.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/tools/anttasks/Fop.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Fop.java 22 Aug 2003 17:42:42 -0000 1.9
+++ Fop.java 22 Nov 2003 19:48:21 -0000 1.10
@@ -85,6 +85,8 @@
* <li>format -> MIME type of the format to generate ex. "application/pdf"</li>
* <li>outfile -> output filename</li>
* <li>baseDir -> directory to work from</li>
+ * <li>relativebase -> (true | false) control whether to use each FO's
+ * directory as base directory. false uses the baseDir parameter.</li>
* <li>userconfig -> file with user configuration (same as the "-c" command
* line option)</li>
* <li>messagelevel -> (error | warn | info | verbose | debug) level to output
@@ -105,6 +107,7 @@
private int messageType = Project.MSG_VERBOSE;
private boolean logFiles = true;
private boolean force = false;
+ private boolean relativebase = false;
/**
* Sets the filename for the userconfig.xml.
@@ -155,6 +158,25 @@
}
/**
+ * Set whether to include files (external-grpahics, instream-foreign-object)
+ * from a path relative to the .fo file (true) or the working directory (false,
default)
+ * only useful for filesets
+ *
+ * @param relbase true if paths are relative to file.
+ */
+ public void setRelativebase(boolean relbase) {
+ this.relativebase = relbase;
+ }
+
+ /**
+ * Gets the relative base attribute
+ * @return the relative base attribute
+ */
+ public boolean getRelativebase() {
+ return relativebase;
+ }
+
+ /**
* Set whether to check dependencies, or to always generate;
* optional, default is false.
*
@@ -429,7 +451,6 @@
if (task.getOutdir() != null) {
outf = new File(task.getOutdir(), outf.getName());
}
-
// Render if "force" flag is set OR
// OR output file doesn't exist OR
// output file is older than input file
@@ -437,7 +458,8 @@
|| (task.getFofile().lastModified() > outf.lastModified() )) {
render(task.getFofile(), outf, rint);
actioncount++;
- } else if (outf.exists() && (task.getFofile().lastModified() <=
outf.lastModified() )) {
+ } else if (outf.exists()
+ && (task.getFofile().lastModified() <= outf.lastModified()
)) {
skippedcount++;
}
}
@@ -468,6 +490,10 @@
}
try {
+ if (task.getRelativebase()) {
+ this.baseURL = f.getParentFile().toURL().
+ toExternalForm();
+ }
if (this.baseURL == null) {
this.baseURL = fs.getDir(task.getProject()).toURL().
toExternalForm();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]