If you are doing that much formatting, you may really want to check
out using ant for your build process, especially if doing multiple
output formats. I use this on Mac OS X and have no problem with
background running or anything else. My rule for PDF formatting is just:
<target name="pdf" depends="-fo" description="Produce the PDF">
<fop format="application/pdf" basedir="${formatdir}"
fofile="${formatdir}/${basename}.fo"
outfile="${formatdir}/${basename}.pdf"/>
</target>
It is easy to adapt this to use a glob rule to build a list of files
to format and I also have my process automatically validate DocBook
inputs, produce single file and chunked HTML, ODF, convert graphics
files from SVG as necessary, automatically check dates to only format
what is needed, zip the formatted files and graphics for
distribution, clean up the working directories, and even do some
dependency tracking on what versions of DocBook, the XSLT
stylesheets, fop and other libraries I am using for a particular
document so I don't have trouble when I check out an old one from
version control. I have a template build file I include for each
project and then customize. It took me a good bit of work to set up
the environment but has been very easy to maintain.
This is not a huge matter. More on the line of an annoyance. And I
may need to take this question to a java list rather than this
list. If so, just point me in the right direction.
At any rate, I have an XSLT stylesheet that produces 50+ separate
fo documents. I then run the shell script below to batch produce
the pdf documents:
#!/bin/sh
for foo in *.fo
do
state=`basename $foo .fo`
/Applications/fop-0.94/fop -fo $foo -pdf ../pdf_files/$state.pdf
done
When I run this script on my Mac (OS X 10.4.11, java version
"1.5.0_13" fop-0.94), org.apache.fop.cli.main takes control of the
desktop, stopping whatever it is I am doing for about 5 seconds. I
gain control again for about 5 seconds until fop pumps out another
pdf document. I basically have to step away from the computer for
the 8 minutes that the batch process takes. Adding & and wait to
the main line of the script does not seem to work:
/Applications/fop-0.94/fop -fo $foo -pdf ../pdf_files/$state.pdf &
wait
done
The first script above on Ubuntu linux runs in the background
without interrupting other running process.
Any simple solutions?
Terry Ofner
Sincerely,
Eric Vought
"Deserves Death? I daresay he does. Many who live deserve death. Many
who die deserve life. Can you give it to them, Frodo? Do not be so
quick to deal death in the name of justice. Even the very wise cannot
see all ends." -- Gandalf the Grey