You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.xml 65KB

New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
New feature: "Intermediate format" (IF). The IF is basically the XML dialect written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
18 years ago
Merged branch https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_ImagePackageRedesign (revs 594558 to 611138) into Trunk: A new image loading framework has been introduced to fix various problems with external graphics and improve performance. Switched to Batik 1.7. Added xml-apis-ext.jar as needed by Batik 1.7. Updated to latest XML Graphics Commons snapshot. Changelog of branch: ------------------------------------------------------------------------ r594558 | jeremias | 2007-11-13 16:04:56 +0100 (Di, 13 Nov 2007) | 1 line Branch for image package redesign ------------------------------------------------------------------------ r594560 | jeremias | 2007-11-13 16:10:35 +0100 (Di, 13 Nov 2007) | 1 line Implementation of Dijkstra's algorithm for finding the shortest path. Used in the new image package to find the best combination of image loaders and image converters to provide an image in the optimal form for a renderer. ------------------------------------------------------------------------ r594848 | jeremias | 2007-11-14 13:12:50 +0100 (Mi, 14 Nov 2007) | 3 lines Initial upload of what I have already for the image package redesign. For now, it's in a parallel package (image2). The final package name is TBD. The code isn't hooked into the renderers, yet, and there's no image cache. This is still all work in progress. ------------------------------------------------------------------------ r594851 | jeremias | 2007-11-14 13:20:12 +0100 (Mi, 14 Nov 2007) | 1 line Test cases and additional test files for the new image package. ------------------------------------------------------------------------ r595305 | jeremias | 2007-11-15 15:01:37 +0100 (Do, 15 Nov 2007) | 1 line Small mistake while reimplementing JPEG. ------------------------------------------------------------------------ r595308 | jeremias | 2007-11-15 15:13:36 +0100 (Do, 15 Nov 2007) | 5 lines Introduced a usage penalty for ImageLoaders so we can calculate an overall penalty for a pipeline. Multiple image flavors can be passed to ImageManager.getImage() if the caller supports multiple formats. The image package chooses the best pipeline. Implemented a converter from RenderedImage to PNG. Implemented loaders for raw formats (EMF, JPEG and PNG). Hooked the new image package into the RTF handler as first real proof-of-concept. ------------------------------------------------------------------------ r596240 | jeremias | 2007-11-19 11:02:13 +0100 (Mo, 19 Nov 2007) | 1 line Fixed bug in pipeline selection. ------------------------------------------------------------------------ r596242 | jeremias | 2007-11-19 11:03:06 +0100 (Mo, 19 Nov 2007) | 1 line MIME type in parentheses behind the URI makes more sense. ------------------------------------------------------------------------ r599430 | jeremias | 2007-11-29 14:08:01 +0100 (Do, 29 Nov 2007) | 1 line Support for baseline information (needed by at least MathML). ------------------------------------------------------------------------ r599433 | jeremias | 2007-11-29 14:09:04 +0100 (Do, 29 Nov 2007) | 1 line Bugfix: BMP don't all have resolution information. ------------------------------------------------------------------------ r599434 | jeremias | 2007-11-29 14:10:54 +0100 (Do, 29 Nov 2007) | 1 line Change MIME type ------------------------------------------------------------------------ r599436 | jeremias | 2007-11-29 14:17:14 +0100 (Do, 29 Nov 2007) | 3 lines Started integrating into Java2D and PostScript renderers and ExternalGraphic. Added support for EPS graphics. Added support for raw embedding of JPEG images (for PostScript). ------------------------------------------------------------------------ r600821 | jeremias | 2007-12-04 08:51:06 +0100 (Di, 04 Dez 2007) | 5 lines Clean up Javadocs Generally make more useful. Reuse FOProcessor instance for the whole run to actually feel the effect of an image cache attached to the FopFactory. Add option to prompt the user before actually starting (in order to connect a VM monitor). ------------------------------------------------------------------------ r600870 | jeremias | 2007-12-04 11:27:51 +0100 (Di, 04 Dez 2007) | 14 lines Note: The API of the new image package has changed a bit. (it became necessary when I introduced caching) The direct dependency on FOUserAgent has been removed to make the image package more universally usable. Instead an ImageContext (provided by FopFactory in FOP) and ImageSessionContext (provided by FOUserAgent in FOP) was introduced. Introduced image caching with soft references (I didn't reintroduce the FOUserAgent lock, yet, because it doesn't help much) ImageInfo doesn't carry the Source for the image anymore. The Source is provided by the new ImageSessionContext.java and only shared within the same thread to make things simpler and to avoid complex synchronization and cleanup. Image instances now indicate whether they are cacheable (not all Image instances are cacheable, for example when they just carry an InputStream). Moved the converter pipeline functionality into its own subpackage to keep "spi" clean. Added checks in ImageSize to detect incomplete Preloaders. ImageSource can now indicate whether its a fast source (loading from local file) or a slow source (loading over the network). (but this isn't used, yet) Fixed a bug in WMF and SVG preloaders: they didn't close their Sources after fully loading the images. Bugfix in ImageRawJPEG: it illegally reported being an EPS file ImageRawStream got an "InputStreamFactory" so it is possible to reuse raw images if they have been loaded into memory (or to a local file which hasn't been implemented, yet). The pipeline code now converts single-use raw images to reusable raw images when possible. But there's nothing built in to restrict the image size to a maximum, yet. Improved JPEG preloader so it can stop early an deal with images that have to APP0 segment. Images from digicams are such an example. They carry the resolution info in the EXIF block which is currently not interpreted. Fallback is to the configured source resolution. ------------------------------------------------------------------------ r600930 | jeremias | 2007-12-04 14:25:43 +0100 (Di, 04 Dez 2007) | 1 line Package HTML Files. ------------------------------------------------------------------------ r600934 | jeremias | 2007-12-04 14:34:41 +0100 (Di, 04 Dez 2007) | 1 line Javadoc fixes ------------------------------------------------------------------------ r602023 | jeremias | 2007-12-07 09:46:56 +0100 (Fr, 07 Dez 2007) | 2 lines Bugfix for bug in SVG preloader which didn't calculate the size of an SVG correctly when there's no explicit size. ------------------------------------------------------------------------ r602024 | jeremias | 2007-12-07 09:49:49 +0100 (Fr, 07 Dez 2007) | 1 line Some small javadoc and logging improvements/refinements. ------------------------------------------------------------------------ r602025 | jeremias | 2007-12-07 09:50:22 +0100 (Fr, 07 Dez 2007) | 1 line Enable assert keyword for javadoc production. ------------------------------------------------------------------------ r602032 | jeremias | 2007-12-07 09:59:10 +0100 (Fr, 07 Dez 2007) | 11 lines Added color space information and an optional ICC color profile to the basic Image interface. Reimplemented transparency support (for now only for ImageIO loader and PDF output) ImageIO preloader passes the already loaded metadata to the ImageIO loader through the "custom objects" so it doesn't have to load them again. PDF library: Corrected the naming of the method indicating the "bits per component" (bits per component != bits per pixel) PDF library: Added a method which lets a user override values in an XObject's dictionary after the major values have been set (useful not to make the PDFImage interface more complicated). PDF library: Support for gray transparent colors. PDF library: Added a convenience class for alpha channel bitmaps (AlphaRasterImage) Integration of the new image package into the PDFRenderer (currently supports all previous embedding methods except deprecated EPS embedding and CCITT embedding, now supports even more transparency options than before) ------------------------------------------------------------------------ r602033 | jeremias | 2007-12-07 09:59:57 +0100 (Fr, 07 Dez 2007) | 1 line Small optimization from my failed experiments to support native PNG embedding. ------------------------------------------------------------------------ r602034 | jeremias | 2007-12-07 10:01:34 +0100 (Fr, 07 Dez 2007) | 1 line Don't use "content" filter for ICC profiles. Instead compress using "default". "content" is for page content. ------------------------------------------------------------------------ r602036 | jeremias | 2007-12-07 10:02:25 +0100 (Fr, 07 Dez 2007) | 1 line Added general key for precompressed content of any kind. ------------------------------------------------------------------------ r602037 | jeremias | 2007-12-07 10:03:39 +0100 (Fr, 07 Dez 2007) | 1 line Various variants of the FOP logo for testing. Some of them have transparency info. ------------------------------------------------------------------------ r602228 | jeremias | 2007-12-07 22:30:17 +0100 (Fr, 07 Dez 2007) | 4 lines Discarded PreloaderPNG in favor of PreloaderImageIO which now supports all formats supported by ImageIO (meaning that you can uses JPEG-2000 images if you have a suitable ImageIO codec installed). ImagePreloader.getMimeType() removed because it isn't really used in the new setup. ImagePreloader.getPriority() introduced which allows to prioritize preloaders and thus gives the opportunity to tweak the order in which the preloaders are checked when an image is inspected. ImageLoaderImageIO can now use multiple Readers if one fails (one codec may not support all format variants, for example). ------------------------------------------------------------------------ r602229 | jeremias | 2007-12-07 22:30:48 +0100 (Fr, 07 Dez 2007) | 1 line Added a toString() impl for debugging. ------------------------------------------------------------------------ r602442 | jeremias | 2007-12-08 11:36:32 +0100 (Sa, 08 Dez 2007) | 6 lines Support handling images with no associated URI (from instream-foreign-object). These images are not cached. Add support for plain image conversion (i.e. with no loading) for instream-foreign-object. Add convenience writeTo() methods in ImageRawStream to save a few lines of code. Support for instream-foreign-object in RTF output. Teach RTF library to handle images without an associated URL. ------------------------------------------------------------------------ r603191 | jeremias | 2007-12-11 11:03:32 +0100 (Di, 11 Dez 2007) | 2 lines Bugfix: Graphics2DAdapter didn't do the graphics state save correct so subsequent images may have been painted with the wrong transformation matrix. Bugfix: bitmap images didn't scale correctly when the resolutions were changed. ------------------------------------------------------------------------ r603207 | jeremias | 2007-12-11 12:08:36 +0100 (Di, 11 Dez 2007) | 1 line Convenience method for obtaining the image size in points. ------------------------------------------------------------------------ r603208 | jeremias | 2007-12-11 12:12:50 +0100 (Di, 11 Dez 2007) | 3 lines Precisely define the expectations for the area parameter in Graphics2DImagePainter. New ImageConverter: Bitmap -> Graphics2D ------------------------------------------------------------------------ r603209 | jeremias | 2007-12-11 12:15:49 +0100 (Di, 11 Dez 2007) | 3 lines Refine pipeline building: Expose a method to allow the PS Renderer to predict what kind of pipeline will be selected (because it doesn't support all image types as PostScript forms) If there are multiple candidate pipelines for one conversion type, choose the one with the lowest penalty, not just the one that happens to be first. ------------------------------------------------------------------------ r603250 | jeremias | 2007-12-11 15:17:32 +0100 (Di, 11 Dez 2007) | 1 line Removing failed experiment: raw PNG embedding didn't work out. ------------------------------------------------------------------------ r603254 | jeremias | 2007-12-11 15:29:48 +0100 (Di, 11 Dez 2007) | 2 lines Plugged new image package into form generation for PostScript. XML images and EPS files are currently supported as forms. They are added inline. ------------------------------------------------------------------------ r603256 | jeremias | 2007-12-11 15:34:52 +0100 (Di, 11 Dez 2007) | 1 line Embedding EPS in PDF is no longer implemented as it is a deprecated feature in PDF. Therefore, this test is not needed anymore. The PDF renderer will say: "Cannot load image (no suitable loader/converter combination available) for myfile.eps (application/postscript)" ------------------------------------------------------------------------ r603266 | jeremias | 2007-12-11 16:16:22 +0100 (Di, 11 Dez 2007) | 1 line Size calculation for images can be slightly different after the redesign due to different rounding. Give a little tolerance. ------------------------------------------------------------------------ r603271 | jeremias | 2007-12-11 16:24:08 +0100 (Di, 11 Dez 2007) | 1 line Bugfix: Only generate the FixedLength if there is baseline information. ------------------------------------------------------------------------ r603358 | jeremias | 2007-12-11 22:13:22 +0100 (Di, 11 Dez 2007) | 1 line Switched background images to new image package. ------------------------------------------------------------------------ r603632 | jeremias | 2007-12-12 15:52:09 +0100 (Mi, 12 Dez 2007) | 1 line Switch to new image package for PDF/SVG support. ------------------------------------------------------------------------ r603642 | jeremias | 2007-12-12 16:30:16 +0100 (Mi, 12 Dez 2007) | 3 lines Initialized merge tracking via "svnmerge" with revisions "1-594557" from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ------------------------------------------------------------------------ r603656 | jeremias | 2007-12-12 17:13:06 +0100 (Mi, 12 Dez 2007) | 307 lines Merged revisions 594558-603642 via svnmerge from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r594571 | vhennebert | 2007-11-13 17:24:32 +0100 (Di, 13 Nov 2007) | 7 lines Moved the creation of grid units to the FO tree building stage. Brought a few improvements along with the move: - bugfix: border-resolution for border-end on row-spanning cells was wrong - bugfix: in case of missing cells the border-end of the table was applied to an inner cell, instead of the cell in the last column (but missing cells aren't painted yet :-\) - bugfix: in collapsing-border model, border-before and -after specified on table-column were applied to every cell of the column, instead of only the first and the last ones - border resolution is now made progressively when possible, and no longer triggers the fetching of all the rows of the table Added testcases for the border conflict resolution (between the various elements of a table and not only the cells) ........ r594578 | vhennebert | 2007-11-13 17:50:09 +0100 (Di, 13 Nov 2007) | 2 lines Moved *GridUnit from layoutmgr/table to fo/flow/table ........ r594579 | vhennebert | 2007-11-13 17:55:54 +0100 (Di, 13 Nov 2007) | 2 lines Changed back visibility of fields from public to package-private, due to the move of *GridUnit in the fo.flow.table package ........ r594584 | vhennebert | 2007-11-13 18:13:19 +0100 (Di, 13 Nov 2007) | 2 lines Use a singleton for a default BorderInfo of style none, instead of every time a new instance ........ r594592 | vhennebert | 2007-11-13 18:39:17 +0100 (Di, 13 Nov 2007) | 2 lines Cleaned up RowGroupLayoutManager and TableRowIterator ........ r594821 | vhennebert | 2007-11-14 11:18:45 +0100 (Mi, 14 Nov 2007) | 2 lines Moved EffRow to the fo.flow.table package ........ r594829 | vhennebert | 2007-11-14 11:41:52 +0100 (Mi, 14 Nov 2007) | 2 lines Reduced visibility of some methods and constructors from public to package-private, as a consequence of the move of *GridUnit to the fo.flow.table package ........ r594836 | vhennebert | 2007-11-14 12:14:03 +0100 (Mi, 14 Nov 2007) | 2 lines Restored the setting of the parent table-row element on grid units ........ r594852 | vhennebert | 2007-11-14 13:21:53 +0100 (Mi, 14 Nov 2007) | 2 lines Restored the setting of rowIndex on primary grid units (although testcases were already working...) ........ r595297 | jeremias | 2007-11-15 14:28:58 +0100 (Do, 15 Nov 2007) | 2 lines Bugzilla #43143: Had to remove the Expert(Subset) Encoding detection as this caused problems with a barcode font that used dfCharset=2 but was not using ExpertSubset encoding. To detect Expert(Subset)Encoding, the AFM needs to be parsed. And since we don't support that encoding, yet, the fallback to WinAnsiEncoding should work well enough. ........ r595637 | acumiskey | 2007-11-16 13:12:52 +0100 (Fr, 16 Nov 2007) | 3 lines This should improve the ability of the FontLoader when resolving PFM files for Type 1 fonts on case sensitive Unix systems. ........ r596072 | jeremias | 2007-11-18 11:48:53 +0100 (So, 18 Nov 2007) | 4 lines ApacheCon US is over. OSSSummit was cancelled/postponed. Added example for total page count using XSL 1.1 Adjusted total page count example to new FOP API. (Thanks to Miroslav Gregan for the hint) ........ r596097 | jeremias | 2007-11-18 17:56:09 +0100 (So, 18 Nov 2007) | 6 lines Bugzilla #43605: Added methods for page-number-citation and page-number-citation-last in FOEventHandler.java Submitted by: V. Schappert <vschappert.at.bloomberg.net> Patch modified by Jeremias: Bugfix: FOEventHandler.startPageNumberCitation() was also called in the case of a page-number-citation-last. Introduced abstract base classes to avoid this. ........ r596100 | jeremias | 2007-11-18 18:17:24 +0100 (So, 18 Nov 2007) | 1 line Added sample as suggested by Kumar Puppala. ........ r596390 | vhennebert | 2007-11-19 19:25:27 +0100 (Mo, 19 Nov 2007) | 2 lines Bugzilla #43766: breaks generated by the merging algorithm for table rows containing empty cells has always a penalty of 900 ........ r596554 | jeremias | 2007-11-20 08:14:33 +0100 (Di, 20 Nov 2007) | 2 lines Bugzilla #43904: Buffer the OutputStreams in our transcoders if the users forget. ........ r596600 | jeremias | 2007-11-20 11:20:29 +0100 (Di, 20 Nov 2007) | 3 lines Bugzilla #43910: Avoid a NullPointerException in AreaTreeHandler.endDocument(). Submitted by: David Delbecq <delbd.at.oma.be> ........ r596724 | jeremias | 2007-11-20 16:56:33 +0100 (Di, 20 Nov 2007) | 3 lines Bugfix: Bugfix for URI resolution: Make StreamSources without system identifier work again. Bugfix: Close streams opened by test font resolution in font configuration (the font URIs will be resolved again later anyway). Better error message when the loading of font metric files doesn't work due to missing information in the returned Source instances. ........ r596727 | vhennebert | 2007-11-20 17:07:32 +0100 (Di, 20 Nov 2007) | 2 lines Bugfix in tables: wrong element generation by the merging algorithm when glues must be produced to cope with conditional spaces. The corresponding length was added twice: one in the glue itself and one in the following box. ........ r596739 | cbowditch | 2007-11-20 17:49:13 +0100 (Di, 20 Nov 2007) | 1 line bug fix: memory leak in PropertyCache. Fix provided by Jeremias. There are still some thread synchronization issues to be addressed in the PropertyCache. See the following thread for details: http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/200711.mbox/%3cBAY117-DAV109E36CC066889386AB917FB870@phx.gbl%3e ........ r596742 | vhennebert | 2007-11-20 18:08:46 +0100 (Di, 20 Nov 2007) | 2 lines Added a news entry about Max Berger becoming a committer. Welcome Max! ........ r596776 | vhennebert | 2007-11-20 19:47:39 +0100 (Di, 20 Nov 2007) | 2 lines Bugzilla #43803: table cells having no children are allowed in relaxed validation mode. ........ r597052 | vhennebert | 2007-11-21 13:23:59 +0100 (Mi, 21 Nov 2007) | 2 lines Bugfix: the last element generated by the merging algorithm may now be a glue ........ r597448 | jeremias | 2007-11-22 17:13:05 +0100 (Do, 22 Nov 2007) | 2 lines First draft of a possible new intermediate format for Apache FOP. Details on: http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml/NewDesign ........ r598558 | jeremias | 2007-11-27 09:36:23 +0100 (Di, 27 Nov 2007) | 6 lines Bugzilla #40230: Bugfix: no empty page is generated anymore if there's no content after a break-after. Bugzilla #43917: Bugfix for border-after painting and element list generation when a forced break is involved. ........ r599536 | vhennebert | 2007-11-29 19:31:13 +0100 (Do, 29 Nov 2007) | 4 lines Added fixes-bug attributes for: - wrong element generation in table when glues are produced - border-resolution on row-spanning cells ........ r599746 | jeremias | 2007-11-30 10:04:54 +0100 (Fr, 30 Nov 2007) | 2 lines Bugzilla #37993: Bugfix: allow multiple bookmarks to point at the same destination. ........ r600195 | adelmelle | 2007-12-01 22:11:53 +0100 (Sa, 01 Dez 2007) | 1 line Correction and simplification of the PropertyCache: subclass WeakReference and remove internal threading ........ r600467 | jeremias | 2007-12-03 11:16:27 +0100 (Mo, 03 Dez 2007) | 2 lines Log RuntimeExceptions during rendering so that they are at least visible somewhere if someone doesn't set an ErrorListener on the XSLT processor (this could lead to exceptions being swallowed). This is a temporary measure until we have time to improve the exception handling in FOP. The original problem that led to this change was: "The number of this PDFNumber must not be empty" while producing a PDF/A with customized filter entries in the PDF configuration. The exception was a follow-up exception after a PDFConformanceException that was swallowed by a default ErrorListener. ........ r600521 | jeremias | 2007-12-03 14:21:06 +0100 (Mo, 03 Dez 2007) | 1 line Added a possibility to rerun the whole run a defined number of times to test for possible issues outside a single rendering run. ........ r600529 | jeremias | 2007-12-03 14:32:04 +0100 (Mo, 03 Dez 2007) | 1 line Oops. ........ r601413 | vhennebert | 2007-12-05 17:56:47 +0100 (Mi, 05 Dez 2007) | 2 lines Typo in property: svn:kewords -> svn:keywords ........ r601415 | acumiskey | 2007-12-05 18:11:44 +0100 (Mi, 05 Dez 2007) | 2 lines Corrected javadocs ........ r601416 | acumiskey | 2007-12-05 18:12:54 +0100 (Mi, 05 Dez 2007) | 2 lines Corrected javadoc ........ r601417 | acumiskey | 2007-12-05 18:13:31 +0100 (Mi, 05 Dez 2007) | 2 lines Corrected javadoc ........ r601419 | acumiskey | 2007-12-05 18:15:46 +0100 (Mi, 05 Dez 2007) | 2 lines Improved use of logging ........ r601423 | acumiskey | 2007-12-05 18:19:43 +0100 (Mi, 05 Dez 2007) | 2 lines Corrected javadoc, fixed checkstyle issues, and now also correctly caters for negative number conversions ........ r601424 | acumiskey | 2007-12-05 18:21:15 +0100 (Mi, 05 Dez 2007) | 2 lines Fixed checkstyle issues ........ r601426 | acumiskey | 2007-12-05 18:24:15 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601427 | acumiskey | 2007-12-05 18:25:07 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601428 | acumiskey | 2007-12-05 18:25:58 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601429 | acumiskey | 2007-12-05 18:27:06 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601430 | acumiskey | 2007-12-05 18:28:03 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601431 | acumiskey | 2007-12-05 18:28:48 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601432 | acumiskey | 2007-12-05 18:29:31 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601433 | acumiskey | 2007-12-05 18:30:04 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601434 | acumiskey | 2007-12-05 18:31:20 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601435 | acumiskey | 2007-12-05 18:32:29 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601436 | acumiskey | 2007-12-05 18:34:44 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601437 | acumiskey | 2007-12-05 18:35:31 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601438 | acumiskey | 2007-12-05 18:36:12 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes and cleanup ........ r601439 | acumiskey | 2007-12-05 18:37:40 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601440 | acumiskey | 2007-12-05 18:39:54 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601442 | acumiskey | 2007-12-05 18:42:13 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601443 | acumiskey | 2007-12-05 18:42:48 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601444 | acumiskey | 2007-12-05 18:43:46 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601445 | acumiskey | 2007-12-05 18:44:36 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601446 | acumiskey | 2007-12-05 18:45:20 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601447 | acumiskey | 2007-12-05 18:47:44 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601448 | acumiskey | 2007-12-05 18:48:56 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601449 | acumiskey | 2007-12-05 18:49:46 +0100 (Mi, 05 Dez 2007) | 2 lines Checkstyle fixes ........ r601712 | acumiskey | 2007-12-06 12:57:14 +0100 (Do, 06 Dez 2007) | 2 lines Temporary fix to the build ........ r602045 | jeremias | 2007-12-07 10:20:28 +0100 (Fr, 07 Dez 2007) | 1 line Avoid a NPE in toString(). ........ r602125 | maxberger | 2007-12-07 16:36:53 +0100 (Fr, 07 Dez 2007) | 6 lines Updated xmlgraphics from SVN Added autodetection of fonts in jar files (x-font and x-font-truetype) Added files needed for testcase Please note: Actual testcase is still missing! ........ r602898 | maxberger | 2007-12-10 14:35:33 +0100 (Mo, 10 Dez 2007) | 2 lines Added documentation for font-in-jar-files ........ r603590 | acumiskey | 2007-12-12 13:24:10 +0100 (Mi, 12 Dez 2007) | 4 lines * Added an SVG handler and Graphics2D implementation for AFP which injects AFP GOCA structured fields into the AFPDataStream. * Fixed many checkstyle problems. * Updated xmlgraphics-commons-1.3svn.jar to include changes to TextHandler ........ r603592 | acumiskey | 2007-12-12 13:26:39 +0100 (Mi, 12 Dez 2007) | 2 lines Updated status with SVG support for AFP. ........ ------------------------------------------------------------------------ r603661 | jeremias | 2007-12-12 17:20:09 +0100 (Mi, 12 Dez 2007) | 1 line Fix javadoc ------------------------------------------------------------------------ r603886 | jeremias | 2007-12-13 12:15:48 +0100 (Do, 13 Dez 2007) | 1 line Copy/paste programming is dangerous. :-) ------------------------------------------------------------------------ r603902 | jeremias | 2007-12-13 13:17:56 +0100 (Do, 13 Dez 2007) | 2 lines Factored out all image handling code in the PDFRenderer into PDFImageHandler classes. The interface was introduced to handle PDF-in-PDF images. The PDFImageHandler interface changes in a backwards-incompatible way but since the PDF-in-PDF plug-in probably has the only implementation, that's not very problematic. I'll release a new version as soon as the image stuff is merged back into Trunk. ------------------------------------------------------------------------ r603937 | jeremias | 2007-12-13 16:20:46 +0100 (Do, 13 Dez 2007) | 1 line Some cleanup ------------------------------------------------------------------------ r603938 | jeremias | 2007-12-13 16:23:23 +0100 (Do, 13 Dez 2007) | 2 lines Switch PCL renderer to new image package. Add an option to force a color canvas (RGB) instead of a gray canvas. Set this to true for all SVG graphics since Batik does not seem to support gradients on a grayscale canvas (IllegalArgumentException). ------------------------------------------------------------------------ r604122 | jeremias | 2007-12-14 08:58:56 +0100 (Fr, 14 Dez 2007) | 1 line Stupid copy/paste again. ------------------------------------------------------------------------ r604135 | jeremias | 2007-12-14 10:04:43 +0100 (Fr, 14 Dez 2007) | 1 line Preliminary changes to switch to the new image library. TIFF optimizations still missing. Untested. ------------------------------------------------------------------------ r604144 | jeremias | 2007-12-14 11:12:41 +0100 (Fr, 14 Dez 2007) | 1 line Switch to new image package. At some point we will probably want to remove this example as JEuclid has a better plug-in now. ------------------------------------------------------------------------ r604150 | jeremias | 2007-12-14 11:27:39 +0100 (Fr, 14 Dez 2007) | 1 line Old JEuclid doesn't notice itself if no MathML document is loaded. ------------------------------------------------------------------------ r604155 | jeremias | 2007-12-14 11:48:07 +0100 (Fr, 14 Dez 2007) | 2 lines Switched to new image package. The preloader simply loads the full document and converts it to SVG. That's the only way to determine the intrinsic size of the image. ------------------------------------------------------------------------ r604157 | jeremias | 2007-12-14 11:51:21 +0100 (Fr, 14 Dez 2007) | 1 line No longer needed. ------------------------------------------------------------------------ r604214 | jeremias | 2007-12-14 17:07:30 +0100 (Fr, 14 Dez 2007) | 1 line Added work-around for decoding CMYK JPEGs with ImageIO (no guarantees for color fidelity but it's better than not being able to use CMYK images). ------------------------------------------------------------------------ r604297 | jeremias | 2007-12-14 22:14:12 +0100 (Fr, 14 Dez 2007) | 68 lines Merged revisions 603643-604293 via svnmerge from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r603890 | vhennebert | 2007-12-13 12:35:17 +0100 (Do, 13 Dez 2007) | 2 lines Fixed @throws statements in javadoc ........ r603926 | adelmelle | 2007-12-13 15:43:08 +0100 (Do, 13 Dez 2007) | 4 lines Minor tweaks: * only add text to a fo:wrapper if it is not a direct flow-descendant * error if an fo:wrapper that is a direct flow-descendant contains inline-level children ........ r603943 | vhennebert | 2007-12-13 16:55:29 +0100 (Do, 13 Dez 2007) | 2 lines Removed calls to removeLegalBreaks since they aren't necessary (the whole content is put in a single box anyway) and the method is buggy. ........ r603945 | vhennebert | 2007-12-13 17:10:32 +0100 (Do, 13 Dez 2007) | 2 lines Implemented the resolution of collapsing borders in the FO tree, for every situation (normal, cell at the top of a page, cell broken), taking conditionality, headers and footers into account. ........ r603959 | vhennebert | 2007-12-13 18:21:24 +0100 (Do, 13 Dez 2007) | 2 lines Reverted change accidentally introduced in the previous commit. A proper fix needs to be found for this one. ........ r603961 | vhennebert | 2007-12-13 18:31:26 +0100 (Do, 13 Dez 2007) | 2 lines Ok, now /really/ revert the previous commit :-\ ........ r603962 | vhennebert | 2007-12-13 18:32:43 +0100 (Do, 13 Dez 2007) | 2 lines Style only: removed trailing white spaces ........ r603968 | vhennebert | 2007-12-13 19:28:56 +0100 (Do, 13 Dez 2007) | 2 lines Fixed the handling of columns in the border resolution, especially in case of column-spanning cells ........ r603975 | vhennebert | 2007-12-13 19:52:48 +0100 (Do, 13 Dez 2007) | 2 lines Removed parameter from the endPart method, since the part is already passed as a parameter of the previously called startPart method ........ r603979 | vhennebert | 2007-12-13 19:57:25 +0100 (Do, 13 Dez 2007) | 2 lines Removed parameter from the endTablePart method, as the part is already passed as as a parameter of the previously called startTablePart method ........ r603990 | vhennebert | 2007-12-13 20:17:12 +0100 (Do, 13 Dez 2007) | 2 lines Throw a ValidationException if table-footer is put after table-body and the table uses the collapsing border model. The footer must be known to properly resolve borders. ........ r604171 | vhennebert | 2007-12-14 12:32:51 +0100 (Fr, 14 Dez 2007) | 2 lines Clean up: removed all reset and resetPosition methods, which pre-date the Knuth era and are no longer needed ........ r604180 | vhennebert | 2007-12-14 13:23:10 +0100 (Fr, 14 Dez 2007) | 2 lines Reduced visibility of methods from public to package-private ........ r604185 | acumiskey | 2007-12-14 14:16:06 +0100 (Fr, 14 Dez 2007) | 2 lines Fixed copy constructor ........ r604293 | jeremias | 2007-12-14 21:58:53 +0100 (Fr, 14 Dez 2007) | 2 lines Bugfix: DecodeParms -> DecodeParams (introduced when I changed to generic PDF structures) (fixes CCITT encoded images) ........ ------------------------------------------------------------------------ r604301 | jeremias | 2007-12-14 22:26:27 +0100 (Fr, 14 Dez 2007) | 9 lines Merged revisions 604294-604299 via svnmerge from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r604299 | jeremias | 2007-12-14 22:24:14 +0100 (Fr, 14 Dez 2007) | 1 line Don't hack when you're tired! Reverting r604293 and instead fixing the right value. It's DecodeParams -> DecodeParms! ........ ------------------------------------------------------------------------ r604930 | jeremias | 2007-12-17 18:05:47 +0100 (Mo, 17 Dez 2007) | 2 lines Dispose ImageReader when done reading. Don't close streams as some codecs appear to do "late reading" of the image, i.e. only when the rasters are accessed, at which point they still seek on the stream. For this, the streams must remain open. I hope the codecs all properly close the streams once they don't need them anymore. The javadocs are not clear enough in this regards, IMO. ------------------------------------------------------------------------ r604968 | jeremias | 2007-12-17 20:03:45 +0100 (Mo, 17 Dez 2007) | 3 lines Added an isSupported() method to ImageLoaderFactory so we can check early if an ImageLoader may or may not support a particular subformat. This is used to allow optimized loading of CCITT compressed TIFF images. Support for undecoded embedding of single-strip CCITT compressed images for PDF, PostScript and AFP. Added a fallback mechanism for ImageLoaders: if one ImageLoader cannot load a particular image, try equivalent others registered for the same format. ------------------------------------------------------------------------ r604972 | jeremias | 2007-12-17 20:07:43 +0100 (Mo, 17 Dez 2007) | 1 line Update Commons ------------------------------------------------------------------------ r605138 | jeremias | 2007-12-18 09:42:41 +0100 (Di, 18 Dez 2007) | 2 lines Support for specifying a particular page number of a multi-page image (such as TIFF). Format: http://localhost/images/scan1.tif#page=3 ------------------------------------------------------------------------ r605479 | jeremias | 2007-12-19 10:18:33 +0100 (Mi, 19 Dez 2007) | 3 lines Removed new image package after the copying it to XML Graphics Commons. Adjusted to use the Commons' version. Batik-dependent plugins remain but will eventually need a different resting place. ------------------------------------------------------------------------ r605486 | jeremias | 2007-12-19 10:39:33 +0100 (Mi, 19 Dez 2007) | 1 line Adjust the (pre)loader registration for the demo extensions. ------------------------------------------------------------------------ r605567 | jeremias | 2007-12-19 16:03:25 +0100 (Mi, 19 Dez 2007) | 1 line Fixed scaling and translation (didn't work correctly in certain situations) ------------------------------------------------------------------------ r607034 | jeremias | 2007-12-27 11:47:12 +0100 (Do, 27 Dez 2007) | 71 lines Merged revisions 604300-607033 via svnmerge from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r604475 | vhennebert | 2007-12-15 19:16:01 +0100 (Sa, 15 Dez 2007) | 2 lines Testcase for the resolution of collapsed and conditional borders in the FO tree ........ r604678 | adelmelle | 2007-12-16 20:54:00 +0100 (So, 16 Dez 2007) | 8 lines Streamlining/Correction of the changes made in r603926 - delegate validation of the fo:wrapper's children to the parent: added static FONode.validateChildNode() - narrow the condition for processing text-childnodes: this is not only constrained to fo:flow and fo:static-content, but the same goes for a fo:wrapper that is a direct descendant of a fo:block-container or fo:inline-container, which only allow block-level content (interpretation) - minor javadoc fixups/improvements ........ r604814 | vhennebert | 2007-12-17 11:21:04 +0100 (Mo, 17 Dez 2007) | 2 lines Organized imports ........ r604965 | vhennebert | 2007-12-17 19:56:46 +0100 (Mo, 17 Dez 2007) | 2 lines Renaming GridUnitPart into the more accurate CellPart. Moreover I was always making the confusion between gup and pgu ........ r604970 | vhennebert | 2007-12-17 20:05:27 +0100 (Mo, 17 Dez 2007) | 2 lines Simplified addAreasAndFlushRow: there can no longer be null GridUnits, every hole in the grid is now filled with an EmptyGridUnit ........ r605195 | vhennebert | 2007-12-18 12:56:38 +0100 (Di, 18 Dez 2007) | 2 lines Reset previousRowsLength before a new row-group is handled ........ r605246 | vhennebert | 2007-12-18 17:48:03 +0100 (Di, 18 Dez 2007) | 2 lines Simplification in RowPainter: avoid the use of an array to store rowOffsets and firstRow index for each part of the table (header, footer, body). One at a time is enough. ........ r605253 | vhennebert | 2007-12-18 18:01:45 +0100 (Di, 18 Dez 2007) | 2 lines Renamed firstRow into firstRowIndex and moved its initialization into handeTableContentPosition ........ r605295 | vhennebert | 2007-12-18 19:58:29 +0100 (Di, 18 Dez 2007) | 2 lines Streamlined the recording of row offsets, by replacing Map with a List. Fixed bug #43633 in the same time. ........ r605297 | vhennebert | 2007-12-18 20:02:02 +0100 (Di, 18 Dez 2007) | 3 lines SVG support for AFP is an important addition IMO. IIUC it will have to be advertised in the next release as "Support for SVG images using primitive AFP graphics commands instead of bitmap images", or something like that? ........ r605517 | vhennebert | 2007-12-19 12:47:38 +0100 (Mi, 19 Dez 2007) | 2 lines I said currentGU can no longer be null ........ r605978 | jeremias | 2007-12-20 18:00:46 +0100 (Do, 20 Dez 2007) | 1 line Remove commented code. ........ r606004 | jeremias | 2007-12-20 20:19:19 +0100 (Do, 20 Dez 2007) | 1 line Added support for scale-down-to-fit and scale-up-to-fit. ........ r607032 | jeremias | 2007-12-27 11:34:15 +0100 (Do, 27 Dez 2007) | 4 lines Added new extension element: fox:external-document. It allows to add whole documents such as multi-page TIFF images to be inserted as peers to a page-sequence. Each image will make up an entire page. See the documentation for details. ATM, only single pages are possible. Multi-page images will be supported with the new image package. Some preparations for page-position="only" but the implementation is incomplete and "only" has no effect, yet. (Just uploaded some stuff I once started) Some javadoc cleanups. ........ ------------------------------------------------------------------------ r607091 | jeremias | 2007-12-27 18:13:45 +0100 (Do, 27 Dez 2007) | 1 line Avoid cutting away the URI fragment when building URLs from filenames. ------------------------------------------------------------------------ r607092 | jeremias | 2007-12-27 18:15:49 +0100 (Do, 27 Dez 2007) | 3 lines Switched fox:external-document to new image package. Added multi-page support for fox:external-document. Changed multi-page.tiff: page 4 is now bigger than all other pages. (to make sure that individually sized pages are handled properly) ------------------------------------------------------------------------ r607188 | jeremias | 2007-12-28 09:38:26 +0100 (Fr, 28 Dez 2007) | 2 lines Throwing IllegalStateException causes a prior exception to be swallowed by Xalan-J. Need to throw a SAXException instead. Instead of logging an error about the element mismatch throw a SAXException because the logging only confuses the user as it's practically always a follow-up exception of an exception happening earlier in the respective startElement() event. ------------------------------------------------------------------------ r607249 | jeremias | 2007-12-28 15:27:39 +0100 (Fr, 28 Dez 2007) | 1 line Metadata didn't get transported to the renderer when only fox:external-document is used. ------------------------------------------------------------------------ r607256 | jeremias | 2007-12-28 16:06:35 +0100 (Fr, 28 Dez 2007) | 1 line Corrected content model. ------------------------------------------------------------------------ r607261 | jeremias | 2007-12-28 16:11:56 +0100 (Fr, 28 Dez 2007) | 1 line Added -imagein to command-line so (multi-page) images such as TIFF files can be converted to PDF and other formats supported by FOP. The default stylesheet can be overwritten (with -xslt) if desired. ------------------------------------------------------------------------ r609530 | jeremias | 2008-01-07 09:16:09 +0100 (Mo, 07 Jan 2008) | 1 line Fixed copy/paste mistake. Thanks for spotting it, Vincent. ------------------------------------------------------------------------ r609600 | jeremias | 2008-01-07 14:28:53 +0100 (Mo, 07 Jan 2008) | 1 line Removed "image2" package again and moved the Batik-dependent implementations under the old "image" package. In this form, the deprecated code doesn't conflict with the new implementations anymore. ------------------------------------------------------------------------ r610029 | jeremias | 2008-01-08 16:48:53 +0100 (Di, 08 Jan 2008) | 3 lines Added minimal support for the .minimum/.maximum components of block/inline-progression-dimension on fo:external-graphic and fo:instream-foreign-object. This will only constrain the image itself but not allow the layout engine itself to resize the image as seen fit. Added missing Javadocs in ImageLayout.java. ------------------------------------------------------------------------ r611120 | jeremias | 2008-01-11 10:20:57 +0100 (Fr, 11 Jan 2008) | 100 lines Merged revisions 607034-611115 via svnmerge from https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r607036 | jeremias | 2007-12-27 11:51:11 +0100 (Do, 27 Dez 2007) | 1 line Don't just exit with no error message if the document contains no content. Pretty irritating if it does so. ........ r608812 | acumiskey | 2008-01-04 13:14:33 +0100 (Fr, 04 Jan 2008) | 3 lines The fonts variable would have always had an empty Configuration node (non-null value) even if a <fonts/> wasn't present in the fop configuration. ........ r609567 | jeremias | 2008-01-07 11:52:09 +0100 (Mo, 07 Jan 2008) | 4 lines Reenabled documentation for fox:destination. Enabled intermediate format functionality for fox:destination. Added a test case to check fox:destination. Deprecated FOP's XMLizable in favor of the XML Graphics Commons variant (and extend that variant). ........ r609627 | jeremias | 2008-01-07 16:06:24 +0100 (Mo, 07 Jan 2008) | 5 lines Bugzilla #44176: Support for custom fonts in Java2DRenderer and derived renderers. Submitted by: Patrick Jaromin <patrick.at.jgsullivan.dot.com> Patch modified slightly by jeremias. ........ r610020 | acumiskey | 2008-01-08 16:27:02 +0100 (Di, 08 Jan 2008) | 2 lines cleaned up ........ r610021 | acumiskey | 2008-01-08 16:28:56 +0100 (Di, 08 Jan 2008) | 2 lines Appears to be unused/referenced and superceeded by PageGroup ........ r610022 | acumiskey | 2008-01-08 16:34:07 +0100 (Di, 08 Jan 2008) | 2 lines cleaned up ........ r610023 | acumiskey | 2008-01-08 16:35:18 +0100 (Di, 08 Jan 2008) | 2 lines fixed javadoc ........ r610337 | vhennebert | 2008-01-09 12:02:08 +0100 (Mi, 09 Jan 2008) | 2 lines Fixed checkstyle issues: tabs and trailing spaces ........ r610355 | vhennebert | 2008-01-09 13:01:21 +0100 (Mi, 09 Jan 2008) | 2 lines keep-together is an inherited property ........ r610420 | acumiskey | 2008-01-09 16:40:25 +0100 (Mi, 09 Jan 2008) | 2 lines cleanup ........ r610704 | jeremias | 2008-01-10 08:38:47 +0100 (Do, 10 Jan 2008) | 1 line Added basic support for PDF page labels. ........ r610739 | jeremias | 2008-01-10 11:13:21 +0100 (Do, 10 Jan 2008) | 1 line PostScript output now generates the bounding box DSC comments for the whole document. ........ r610821 | vhennebert | 2008-01-10 16:53:20 +0100 (Do, 10 Jan 2008) | 4 lines - renamed variables for clarity - moved the computation of a cell's content length in PrimaryGridUnit - better javadoc for getHeight method in EffRow ........ r610848 | vhennebert | 2008-01-10 18:41:52 +0100 (Do, 10 Jan 2008) | 2 lines No need to check if the end of the cell is reached when creating the areas for a row ........ r610853 | vhennebert | 2008-01-10 18:54:16 +0100 (Do, 10 Jan 2008) | 2 lines Simplified addAreasAndFlushRow ........ r610886 | vhennebert | 2008-01-10 20:23:56 +0100 (Do, 10 Jan 2008) | 2 lines Removed endPart() method and moved its content into addAreasAndFlushRow() ........ r610891 | vhennebert | 2008-01-10 20:34:13 +0100 (Do, 10 Jan 2008) | 2 lines Removed accumulatedBPD which is redundant with yoffset ........ r610893 | vhennebert | 2008-01-10 20:35:24 +0100 (Do, 10 Jan 2008) | 2 lines The return value of addAreasAndFlushRow is never used, changed it to void ........ r610905 | vhennebert | 2008-01-10 20:57:29 +0100 (Do, 10 Jan 2008) | 2 lines Renamed lastRow into currentRow and yoffset into currentRowOffset ........ r611114 | jeremias | 2008-01-11 10:04:28 +0100 (Fr, 11 Jan 2008) | 2 lines Bugfix: Some string objects were not encrypted (for example in named destinations) I had to refactor the PDF library a little bit but since it only affects the inner API it shouldn't be a problem that I removed some methods which caused trouble because a didn't think about encryption when I worked on the PDF library last year. ........ ------------------------------------------------------------------------ r611133 | jeremias | 2008-01-11 11:45:01 +0100 (Fr, 11 Jan 2008) | 4 lines Fixed merge problems. Fixed a NPE when a mask is null in BitmapImage.java Add support for properly encoding binary data as a hexadecimal string object (including encryption). Adjust palette generation for indexed bitmaps to work correctly with encryption. ------------------------------------------------------------------------ r611138 | jeremias | 2008-01-11 11:59:27 +0100 (Fr, 11 Jan 2008) | 1 line Removed empty package. ------------------------------------------------------------------------ git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@611278 13f79535-47bb-0310-9956-ffa450edef68
16 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391
  1. <?xml version="1.0"?>
  2. <!--
  3. Licensed to the Apache Software Foundation (ASF) under one or more
  4. contributor license agreements. See the NOTICE file distributed with
  5. this work for additional information regarding copyright ownership.
  6. The ASF licenses this file to You under the Apache License, Version 2.0
  7. (the "License"); you may not use this file except in compliance with
  8. the License. You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. -->
  16. <!-- ===========================================================================
  17. * ================== *
  18. | FOP build system |
  19. * ================== *
  20. Building instructions
  21. =====================
  22. First, install Ant (http://ant.apache.org). Check that ant or ant.bat
  23. is in your search path and that JAVA_HOME and ANT_HOME are properly set.
  24. Next make sure your current working directory is where this very file is
  25. located. Then type
  26. ant
  27. If everything is right and all the required packages are visible, this action
  28. will generate a file called "fop.jar" in the "./build" directory.
  29. If you experience any problems with the build please visit the FOP website for
  30. more information: http://xmlgraphics.apache.org/fop
  31. Build targets
  32. =============
  33. The build system is not only responsible for compiling Fop into a jar file,
  34. but is also responsible for creating the javadocs, distributions, examples
  35. and a miscellaneous stuff. In fact, the file you have here is _exactly_ what
  36. is used by fop maintainers to take care of nearly everything in the Fop
  37. project, no less and no more.
  38. Call the Ant (see above) with the parameter "-projecthelp" to get a
  39. list of possible build targets.
  40. ============================================================================ -->
  41. <project default="all" basedir="." name="fop">
  42. <!-- See build.properties and build-local.properties for overriding build settings. -->
  43. <!-- build-local.properties is not stored in SVN and overrides values from build.properties -->
  44. <property file="${basedir}/build-local.properties"/>
  45. <property file="${basedir}/build.properties"/>
  46. <property environment="env"/>
  47. <property name="optional.lib.dir" value="${basedir}/lib"/>
  48. <fileset dir="${basedir}" id="dist.bin">
  49. <include name="conf/**"/>
  50. <include name="examples/**"/>
  51. <include name="LICENSE"/>
  52. <include name="NOTICE"/>
  53. <include name="README"/>
  54. <include name="KEYS"/>
  55. <include name="status.xml"/>
  56. <include name="fop.bat"/>
  57. <include name="fop"/>
  58. </fileset>
  59. <fileset dir="${basedir}" id="dist.bin.lib">
  60. <patternset id="dist.lib">
  61. <include name="lib/avalon-framework*"/>
  62. <include name="lib/xmlgraphics-commons*"/>
  63. <include name="lib/batik*"/>
  64. <include name="lib/commons-io*"/>
  65. <include name="lib/commons-logging*"/>
  66. <include name="lib/README*"/>
  67. <include name="lib/serializer*"/>
  68. <include name="lib/xalan*"/>
  69. <include name="lib/xerces*"/>
  70. <include name="lib/xml-apis*"/>
  71. </patternset>
  72. </fileset>
  73. <fileset dir="${basedir}" id="dist.src">
  74. <include name="src/**"/>
  75. <include name="conf/**"/>
  76. <include name="hyph/hyphenation.dtd"/>
  77. <include name="hyph/readme"/>
  78. <patternset refid="dist.lib"/>
  79. <include name="lib/servlet*"/>
  80. <include name="test/**"/>
  81. <include name="examples/**"/>
  82. <include name="LICENSE"/>
  83. <include name="NOTICE"/>
  84. <include name="README"/>
  85. <include name="KEYS"/>
  86. <include name="known-issues.xml"/>
  87. <include name="status.xml"/>
  88. <include name="build.*"/>
  89. <include name="forrest.properties"/>
  90. <include name="fop.bat"/>
  91. <include name="fop"/>
  92. </fileset>
  93. <path id="libs-build-classpath">
  94. <fileset dir="${basedir}/lib">
  95. <include name="*.jar"/>
  96. </fileset>
  97. <fileset dir="${optional.lib.dir}">
  98. <include name="*.jar"/>
  99. </fileset>
  100. </path>
  101. <path id="libs-run-classpath">
  102. <fileset dir="${basedir}/lib">
  103. <include name="*.jar"/>
  104. </fileset>
  105. <fileset dir="${optional.lib.dir}">
  106. <include name="*.jar"/>
  107. </fileset>
  108. <fileset dir="${basedir}/build">
  109. <include name="fop.jar"/>
  110. <include name="fop-hyph.jar" />
  111. </fileset>
  112. </path>
  113. <patternset id="exclude-jai">
  114. <exclude name="org/apache/fop/image/JAIImage.java" unless="jai.present"/>
  115. <exclude name="org/apache/fop/render/pcl/JAIMonochromeBitmapConverter.java" unless="jai.present"/>
  116. </patternset>
  117. <patternset id="exclude-jce-dependencies">
  118. <exclude name="org/apache/fop/pdf/PDFEncryptionJCE.java" unless="jce.present"/>
  119. </patternset>
  120. <property name="Name" value="Apache FOP"/>
  121. <property name="name" value="fop"/>
  122. <property name="NAME" value="FOP"/>
  123. <property name="version" value="0.95beta"/>
  124. <property name="year" value="1999-2008"/>
  125. <property name="javac.debug" value="on"/>
  126. <property name="javac.optimize" value="off"/>
  127. <property name="javac.deprecation" value="on"/>
  128. <property name="javac.source" value="1.4"/>
  129. <property name="javac.target" value="1.4"/>
  130. <property name="javac.fork" value="no"/>
  131. <property name="junit.fork" value="on"/>
  132. <property name="junit.haltonfailure" value="off"/>
  133. <property name="javadoc.packages" value="org.apache.fop.*"/>
  134. <property name="src.dir" value="${basedir}/src"/>
  135. <property name="src.codegen.dir" value="${src.dir}/codegen"/>
  136. <property name="src.codegen.fonts.dir" value="${src.codegen.dir}/fonts"/>
  137. <property name="src.java.dir" value="${src.dir}/java"/>
  138. <property name="src.sandbox.dir" value="${src.dir}/sandbox"/>
  139. <property name="src.viewer.resources.dir" value="${src.java.dir}/org/apache/fop/render/awt/viewer/resources"/>
  140. <property name="src.viewer.images.dir" value="${src.java.dir}/org/apache/fop/render/awt/viewer/images"/>
  141. <property name="xdocs.dir" value="${src.dir}/documentation/content/xdocs"/>
  142. <property name="fo.examples.dir" value="${basedir}/examples/fo/basic"/>
  143. <property name="fo.examples.userconfig" value="conf/fop.xconf"/>
  144. <property name="fo.examples.include" value="**/*.fo"/>
  145. <property name="fo.examples.force" value="false"/>
  146. <property name="lib.dir" value="${basedir}/lib"/>
  147. <property name="user.hyph.dir" value="${basedir}/hyph"/>
  148. <property name="build.dir" value="${basedir}/build"/>
  149. <property name="build.gensrc.dir" value="${build.dir}/gensrc"/>
  150. <property name="build.classes.dir" value="${build.dir}/classes"/>
  151. <property name="build.sandbox-classes.dir" value="${build.dir}/sandbox-classes"/>
  152. <property name="build.codegen-classes.dir" value="${build.dir}/codegen-classes"/>
  153. <property name="build.javadocs.dir" value="${build.dir}/javadocs"/>
  154. <property name="build.examples.dir" value="${build.dir}/examples"/>
  155. <property name="build.viewer.resources.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/resources"/>
  156. <property name="build.viewer.images.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/images"/>
  157. <property name="build.property.examples.mime.type" value="application/pdf"/>
  158. <!--property name="layoutengine.disabled" value="test/layoutengine/disabled-testcases.txt"/-->
  159. <!--property name="fotree.disabled" value="test/fotree/disabled-testcases.txt"/-->
  160. <property name="layoutengine.disabled" value="test/layoutengine/disabled-testcases.xml"/>
  161. <property name="fotree.disabled" value="test/fotree/disabled-testcases.xml"/>
  162. <property name="dist.bin.dir" value="${basedir}/dist-bin"/>
  163. <property name="dist.src.dir" value="${basedir}/dist-src"/>
  164. <property name="dist.bin.result.dir" value="${dist.bin.dir}/${name}-${version}"/>
  165. <property name="dist.src.result.dir" value="${dist.src.dir}/${name}-${version}"/>
  166. <property name="samedir" value="${basedir}"/>
  167. <property name="junit.reports.dir" value="${build.dir}/test-reports"/>
  168. <property name="junit.html.reports.dir" value="${build.dir}/test-reports/html"/>
  169. <!-- Importing Apache Forrest for building the docs -->
  170. <!--
  171. <property environment="env"/>
  172. <property name="forrest.home" value="${env.FORREST_HOME}"/>
  173. <import file="${env.FORREST_HOME}/main/forrest.build.xml" optional="true"/>
  174. -->
  175. <!-- =================================================================== -->
  176. <!-- Initialization target -->
  177. <!-- =================================================================== -->
  178. <target name="init" depends="init-avail">
  179. </target>
  180. <target name="init-avail">
  181. <echo message="------------------- ${Name} ${version} [${year}] ----------------"/>
  182. <echo message="See build.properties and build-local.properties for additional build settings"/>
  183. <echo message="${ant.version}"/>
  184. <echo message="VM: ${java.vm.version}, ${java.vm.vendor}"/>
  185. <echo message="JAVA_HOME: ${env.JAVA_HOME}"/>
  186. <available property="jai.present" classname="javax.media.jai.JAI"
  187. classpathref="libs-build-classpath"/>
  188. <condition property="jai.message" value="JAI Support PRESENT">
  189. <equals arg1="${jai.present}" arg2="true"/>
  190. </condition>
  191. <condition property="jai.message" value="JAI Support NOT Present">
  192. <not>
  193. <equals arg1="${jai.present}" arg2="true"/>
  194. </not>
  195. </condition>
  196. <echo message="${jai.message}"/>
  197. <available property="jce.present" classname="javax.crypto.Cipher"
  198. classpathref="libs-build-classpath"/>
  199. <condition property="jce.message" value="JCE Support PRESENT">
  200. <equals arg1="${jce.present}" arg2="true"/>
  201. </condition>
  202. <condition property="jce.message" value="JCE Support NOT Present">
  203. <not>
  204. <equals arg1="${jce.present}" arg2="true"/>
  205. </not>
  206. </condition>
  207. <echo message="${jce.message}"/>
  208. <available property="jdk14.present" classname="java.lang.CharSequence"/>
  209. <fail message="${Name} requires at least Java 1.4!" unless="jdk14.present"/>
  210. <available property="junit.present" classname="junit.framework.TestCase"
  211. classpathref="libs-build-classpath"/>
  212. <condition property="junit.message" value="JUnit Support PRESENT">
  213. <equals arg1="${junit.present}" arg2="true"/>
  214. </condition>
  215. <condition property="junit.message" value="JUnit Support NOT Present - Committers are required to have JUnit working">
  216. <not>
  217. <equals arg1="${junit.present}" arg2="true"/>
  218. </not>
  219. </condition>
  220. <echo message="${junit.message}"/>
  221. <condition property="xmlunit.present">
  222. <and>
  223. <available classname="org.custommonkey.xmlunit.XMLTestCase" classpathref="libs-build-classpath"/>
  224. <isset property="junit.present"/>
  225. </and>
  226. </condition>
  227. <condition property="xmlunit.message" value="XMLUnit Support PRESENT">
  228. <equals arg1="${xmlunit.present}" arg2="true"/>
  229. </condition>
  230. <condition property="xmlunit.message" value="XMLUnit Support NOT Present - you can get it from http://xmlunit.sourceforge.net">
  231. <not>
  232. <equals arg1="${xmlunit.present}" arg2="true"/>
  233. </not>
  234. </condition>
  235. <echo message="${xmlunit.message}"/>
  236. </target>
  237. <!-- =================================================================== -->
  238. <!-- Help on usage -->
  239. <!-- =================================================================== -->
  240. <target name="usage">
  241. <echo message="Use the -projecthelp option instead"/>
  242. </target>
  243. <!-- =================================================================== -->
  244. <!-- Generate the source code -->
  245. <!-- =================================================================== -->
  246. <target name="codegen" depends="init" description="Generates the java files from the xml resources">
  247. <echo message="Generating the java files from xml resources"/>
  248. <mkdir dir="${build.gensrc.dir}"/>
  249. <mkdir dir="${build.gensrc.dir}/org/apache/fop/fonts/base14"/>
  250. <xslt in="${src.codegen.fonts.dir}/encodings.xml"
  251. style="${src.codegen.fonts.dir}/code-point-mapping.xsl"
  252. out="${build.gensrc.dir}/org/apache/fop/fonts/CodePointMapping.java"/>
  253. <!-- Task unrolled because of a bug in Xalan included in some
  254. JDK 1.4 releases
  255. <xslt basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml"
  256. style="${src.codegen.fonts.dir}/font-file.xsl"
  257. destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14" extension=".java">
  258. <param name="encoding" expression="WinAnsiEncoding"/>
  259. </xslt>
  260. -->
  261. <xslt in="${src.codegen.fonts.dir}/Courier.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  262. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Courier.java">
  263. <param name="encoding" expression="WinAnsiEncoding"/>
  264. </xslt>
  265. <xslt in="${src.codegen.fonts.dir}/CourierOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  266. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierOblique.java">
  267. <param name="encoding" expression="WinAnsiEncoding"/>
  268. </xslt>
  269. <xslt in="${src.codegen.fonts.dir}/CourierBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  270. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBold.java">
  271. <param name="encoding" expression="WinAnsiEncoding"/>
  272. </xslt>
  273. <xslt in="${src.codegen.fonts.dir}/CourierBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  274. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBoldOblique.java">
  275. <param name="encoding" expression="WinAnsiEncoding"/>
  276. </xslt>
  277. <xslt in="${src.codegen.fonts.dir}/Helvetica.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  278. destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14"
  279. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Helvetica.java">
  280. <param name="encoding" expression="WinAnsiEncoding"/>
  281. </xslt>
  282. <xslt in="${src.codegen.fonts.dir}/HelveticaBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  283. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBold.java">
  284. <param name="encoding" expression="WinAnsiEncoding"/>
  285. </xslt>
  286. <xslt in="${src.codegen.fonts.dir}/HelveticaOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  287. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaOblique.java">
  288. <param name="encoding" expression="WinAnsiEncoding"/>
  289. </xslt>
  290. <xslt in="${src.codegen.fonts.dir}/HelveticaBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  291. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBoldOblique.java">
  292. <param name="encoding" expression="WinAnsiEncoding"/>
  293. </xslt>
  294. <xslt in="${src.codegen.fonts.dir}/TimesRoman.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  295. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesRoman.java">
  296. <param name="encoding" expression="WinAnsiEncoding"/>
  297. </xslt>
  298. <xslt in="${src.codegen.fonts.dir}/TimesItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  299. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesItalic.java">
  300. <param name="encoding" expression="WinAnsiEncoding"/>
  301. </xslt>
  302. <xslt in="${src.codegen.fonts.dir}/TimesBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  303. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBold.java">
  304. <param name="encoding" expression="WinAnsiEncoding"/>
  305. </xslt>
  306. <xslt in="${src.codegen.fonts.dir}/TimesBoldItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  307. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBoldItalic.java">
  308. <param name="encoding" expression="WinAnsiEncoding"/>
  309. </xslt>
  310. <xslt in="${src.codegen.fonts.dir}/Symbol.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  311. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Symbol.java"/>
  312. <xslt in="${src.codegen.fonts.dir}/ZapfDingbats.xml" style="${src.codegen.fonts.dir}/font-file.xsl"
  313. out="${build.gensrc.dir}/org/apache/fop/fonts/base14/ZapfDingbats.java"/>
  314. </target>
  315. <!-- =================================================================== -->
  316. <!-- Compiles the source directory -->
  317. <!-- =================================================================== -->
  318. <target name="compile-java" depends="init, codegen" description="Compiles the source code">
  319. <!-- create directories -->
  320. <mkdir dir="${build.classes.dir}"/>
  321. <javac destdir="${build.classes.dir}" fork="${javac.fork}" debug="${javac.debug}"
  322. deprecation="${javac.deprecation}" optimize="${javac.optimize}"
  323. source="${javac.source}" target="${javac.target}">
  324. <src path="${build.gensrc.dir}"/>
  325. <src path="${src.java.dir}"/>
  326. <patternset includes="**/*.java"/>
  327. <patternset refid="exclude-jce-dependencies"/>
  328. <patternset refid="exclude-jai"/>
  329. <classpath refid="libs-build-classpath"/>
  330. </javac>
  331. <copy todir="${build.classes.dir}">
  332. <fileset dir="${src.java.dir}">
  333. <include name="META-INF/**"/>
  334. <include name="**/*.icm"/>
  335. <include name="**/*.LICENSE.txt"/>
  336. </fileset>
  337. </copy>
  338. <mkdir dir="${build.viewer.resources.dir}"/>
  339. <copy todir="${build.viewer.resources.dir}">
  340. <fileset dir="${src.viewer.resources.dir}"/>
  341. </copy>
  342. <mkdir dir="${build.viewer.images.dir}"/>
  343. <copy todir="${build.viewer.images.dir}">
  344. <fileset dir="${src.viewer.images.dir}"/>
  345. </copy>
  346. <mkdir dir="${build.sandbox-classes.dir}"/>
  347. <javac destdir="${build.sandbox-classes.dir}" fork="${javac.fork}" debug="${javac.debug}"
  348. deprecation="${javac.deprecation}" optimize="${javac.optimize}"
  349. source="${javac.source}" target="${javac.target}">
  350. <src path="${src.sandbox.dir}"/>
  351. <patternset includes="**/*.java"/>
  352. <patternset refid="exclude-jai"/>
  353. <classpath>
  354. <path refid="libs-build-classpath"/>
  355. <pathelement location="${build.classes.dir}"/>
  356. </classpath>
  357. </javac>
  358. <copy todir="${build.sandbox-classes.dir}">
  359. <fileset dir="${src.sandbox.dir}">
  360. <include name="META-INF/**"/>
  361. </fileset>
  362. </copy>
  363. </target>
  364. <!-- =================================================================== -->
  365. <!-- compiles hyphenation patterns -->
  366. <!-- =================================================================== -->
  367. <target name="compile-hyphenation" depends="compile-java">
  368. <path id="hyph-classpath">
  369. <path refid="libs-build-classpath"/>
  370. <pathelement location="${build.classes.dir}"/>
  371. </path>
  372. <taskdef name="serHyph" classname="org.apache.fop.tools.anttasks.SerializeHyphPattern" classpathref="hyph-classpath"/>
  373. <mkdir dir="${build.classes.dir}/hyph"/>
  374. <serHyph targetDir="${build.classes.dir}/hyph">
  375. <fileset dir="${user.hyph.dir}">
  376. <include name="*.xml"/>
  377. </fileset>
  378. </serHyph>
  379. </target>
  380. <target name="uptodate-jar-hyphenation" depends="compile-hyphenation">
  381. <uptodate property="jar.hyphenation.uptodate" targetfile="${build.dir}/fop-hyph.jar">
  382. <srcfiles dir="${build.classes.dir}/hyph"/>
  383. </uptodate>
  384. </target>
  385. <target name="jar-hyphenation" depends="compile-hyphenation,uptodate-jar-hyphenation" description="Generates the hyphenation jar file" unless="jar.hyphenation.uptodate">
  386. <tstamp>
  387. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  388. </tstamp>
  389. <jar jarfile="${build.dir}/fop-hyph.jar" basedir="${build.classes.dir}" includes="hyph/*.hyp">
  390. <manifest>
  391. <attribute name="Implementation-Title" value="${Name}"/>
  392. <attribute name="Implementation-Version" value="${version}"/>
  393. <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
  394. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  395. </manifest>
  396. </jar>
  397. </target>
  398. <!-- =================================================================== -->
  399. <!-- main FOP JARs -->
  400. <!-- =================================================================== -->
  401. <target name="uptodate-jar-main" depends="compile-java">
  402. <uptodate property="jar.main.uptodate" targetfile="${build.dir}/fop.jar">
  403. <srcfiles dir= "${build.classes.dir}"/>
  404. </uptodate>
  405. </target>
  406. <target name="jar-main" depends="compile-java,uptodate-jar-main" description="Generates the main jar file" unless="jar.main.uptodate">
  407. <tstamp>
  408. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  409. </tstamp>
  410. <pathconvert property="manifest.classpath" dirsep="/" pathsep=" " refid="libs-build-classpath">
  411. <map from="${basedir}${file.separator}lib${file.separator}" to=""/>
  412. <map from="${optional.lib.dir}${file.separator}" to=""/>
  413. </pathconvert>
  414. <jar jarfile="${build.dir}/fop.jar" basedir="${build.classes.dir}">
  415. <manifest>
  416. <attribute name="Main-Class" value="org.apache.fop.cli.Main"/>
  417. <attribute name="Class-Path" value="${manifest.classpath}"/>
  418. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  419. <section name="org/apache/fop/">
  420. <attribute name="Specification-Title" value="XSL-FO - Extensible Stylesheet Language"/>
  421. <attribute name="Specification-Version" value="1.0"/>
  422. <attribute name="Specification-Vendor" value="World Wide Web Consortium"/>
  423. <attribute name="Specification-URL" value="http://www.w3.org/TR/xsl"/>
  424. <attribute name="Implementation-Title" value="${Name}"/>
  425. <attribute name="Implementation-Version" value="${version}"/>
  426. <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
  427. </section>
  428. </manifest>
  429. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  430. </jar>
  431. </target>
  432. <target name="uptodate-jar-sandbox" depends="compile-java">
  433. <uptodate property="jar.sandbox.uptodate" targetfile="${build.dir}/fop-sandbox.jar">
  434. <srcfiles dir= "${build.sandbox-classes.dir}"/>
  435. </uptodate>
  436. </target>
  437. <target name="jar-sandbox" depends="compile-java,uptodate-jar-sandbox" description="Generates the sandbox jar file" unless="jar.sandbox.uptodate">
  438. <tstamp>
  439. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  440. </tstamp>
  441. <jar jarfile="${build.dir}/fop-sandbox.jar" basedir="${build.sandbox-classes.dir}">
  442. <manifest>
  443. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  444. </manifest>
  445. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  446. </jar>
  447. </target>
  448. <target name="uptodate-jar-sources" depends="codegen">
  449. <uptodate property="jar.sources.uptodate" targetfile="${build.dir}/fop-sources.jar">
  450. <srcfiles dir="${build.gensrc.dir}"/>
  451. <srcfiles dir="${src.java.dir}"/>
  452. </uptodate>
  453. </target>
  454. <target name="jar-sources" depends="codegen" description="Generates a jar file with all the sources" unless="jar.sources.uptodate">
  455. <tstamp>
  456. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  457. </tstamp>
  458. <patternset id="java-only">
  459. <include name="**/*.java"/>
  460. </patternset>
  461. <jar jarfile="${build.dir}/${name}-${version}-sources.jar">
  462. <fileset dir="${build.gensrc.dir}">
  463. <patternset refid="java-only"/>
  464. </fileset>
  465. <fileset dir="${src.java.dir}">
  466. <patternset refid="java-only"/>
  467. </fileset>
  468. <fileset dir="${src.java.version.dir}">
  469. <patternset refid="java-only"/>
  470. </fileset>
  471. <fileset dir="${basedir}">
  472. <include name="LICENSE"/>
  473. <include name="NOTICE"/>
  474. </fileset>
  475. </jar>
  476. </target>
  477. <!-- =================================================================== -->
  478. <!-- Creates the class package -->
  479. <!-- =================================================================== -->
  480. <target name="package" depends="jar-main,jar-hyphenation,jar-sandbox" description="Generates the jar files"/>
  481. <target name="servlet" depends="package" description="Generates the WAR with the sample FOP servlet">
  482. <echo message="Creating the WAR file"/>
  483. <war warfile="${build.dir}/fop.war" webxml="${src.dir}/conf/web.xml">
  484. <lib dir="${lib.dir}">
  485. <include name="avalon-framework*.jar"/>
  486. <include name="commons-logging*.jar"/>
  487. <include name="batik*.jar"/>
  488. <include name="commons-io*.jar"/>
  489. <include name="xmlgraphics*.jar"/>
  490. </lib>
  491. <lib dir="${build.dir}">
  492. <include name="fop.jar"/>
  493. </lib>
  494. </war>
  495. </target>
  496. <patternset id="transcoder-classes">
  497. <!-- General classes -->
  498. <patternset>
  499. <include name="org/apache/fop/Version.class"/>
  500. <include name="org/apache/fop/apps/Fop.class"/>
  501. <include name="org/apache/fop/apps/FOPException.class"/>
  502. <include name="org/apache/fop/fo/Constants.class"/>
  503. <include name="org/apache/fop/fo/FOTreeBuilder.class"/>
  504. <include name="org/apache/fop/area/AreaTreeControl*"/>
  505. <include name="org/apache/fop/svg/**"/>
  506. <include name="org/apache/fop/fonts/**"/>
  507. <include name="org/apache/fop/image/FopImag*.class"/>
  508. <include name="org/apache/fop/image/Jpeg*"/>
  509. <include name="org/apache/fop/image/EPS*"/>
  510. <include name="org/apache/fop/image/Abstract*"/>
  511. <include name="org/apache/fop/image/analyser/*.class"/>
  512. <include name="org/apache/fop/util/CMYKColorSpace*.class"/>
  513. <include name="org/apache/fop/util/Color*.class"/>
  514. <include name="org/apache/fop/util/ASCII*.class"/>
  515. <include name="org/apache/fop/util/*OutputStream.class"/>
  516. <include name="org/apache/fop/util/SubInputStream.class"/>
  517. <include name="org/apache/fop/util/Finalizable.class"/>
  518. <include name="org/apache/fop/util/CharUtilities.class"/>
  519. </patternset>
  520. <!-- PDF transcoder -->
  521. <patternset>
  522. <include name="org/apache/fop/render/pdf/**"/>
  523. <exclude name="org/apache/fop/render/pdf/PDFRenderer.class"/>
  524. <exclude name="org/apache/fop/render/pdf/PDFXMLHandler*"/>
  525. <include name="org/apache/fop/render/*RendererConfigurator**"/>
  526. <include name="org/apache/fop/pdf/**"/>
  527. </patternset>
  528. <!-- PS transcoder -->
  529. <patternset>
  530. <include name="org/apache/fop/render/ps/**"/>
  531. <exclude name="org/apache/fop/render/pdf/PSRenderer.class"/>
  532. <exclude name="org/apache/fop/render/pdf/PSXMLHandler*"/>
  533. </patternset>
  534. </patternset>
  535. <fileset dir="${build.classes.dir}" id="transcoder-classes-files">
  536. <patternset refid="transcoder-classes"/>
  537. </fileset>
  538. <fileset dir="${lib.dir}" id="transcoder-lib-files">
  539. <include name="commons-io*.jar"/>
  540. <include name="avalon-framework*.jar"/>
  541. <include name="commons-logging*.jar"/>
  542. <include name="xmlgraphics-commons*.jar"/>
  543. </fileset>
  544. <target name="uptodate-transcoder-pkg" depends="compile-java">
  545. <uptodate property="transcoder.pkg.uptodate" targetfile="${build.dir}/fop-transcoder.jar">
  546. <srcfiles refid="transcoder-classes-files"/>
  547. <srcfiles refid="transcoder-lib-files"/>
  548. </uptodate>
  549. </target>
  550. <target name="transcoder-pkg" depends="uptodate-transcoder-pkg, compile-java" description="Generates the jar for the transcoder package for Batik" unless="transcoder.pkg.uptodate">
  551. <echo message="Creating the jar file ${build.dir}/fop-transcoder.jar"/>
  552. <property name="fop-transcoder.name" value="FOP Transcoder Package"/>
  553. <property name="fop-transcoder.version" value="1.0beta2"/>
  554. <tstamp>
  555. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  556. </tstamp>
  557. <!-- lean transcoder jar -->
  558. <jar jarfile="${build.dir}/fop-transcoder.jar">
  559. <fileset refid="transcoder-classes-files"/>
  560. <manifest>
  561. <attribute name="Implementation-Title" value="${fop-transcoder.name}"/>
  562. <attribute name="Implementation-Version" value="${fop-transcoder.version}"/>
  563. <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
  564. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  565. </manifest>
  566. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  567. </jar>
  568. <!-- all-in-one transcoder jar -->
  569. <property name="transcoder-deps" value="${build.dir}/transcoder-dependencies"/>
  570. <mkdir dir="${transcoder-deps}"/>
  571. <unjar dest="${transcoder-deps}">
  572. <patternset>
  573. <include name="org/apache/avalon/framework/*"/>
  574. <include name="org/apache/avalon/framework/activity/*"/>
  575. <include name="org/apache/avalon/framework/configuration/*"/>
  576. <include name="org/apache/avalon/framework/container/*"/>
  577. <include name="org/apache/commons/logging/**"/>
  578. <include name="org/apache/commons/io/*.class"/>
  579. <include name="org/apache/commons/io/filefilter/*.class"/>
  580. <include name="org/apache/commons/io/output/*.class"/>
  581. <!-- TODO Remove the following lines once Batik switches over to using XML Graphics Commons -->
  582. <include name="org/apache/xmlgraphics/java2d/**"/>
  583. <include name="org/apache/xmlgraphics/ps/**"/>
  584. <include name="org/apache/xmlgraphics/fonts/**"/>
  585. <include name="org/apache/xmlgraphics/util/io/**"/>
  586. </patternset>
  587. <fileset refid="transcoder-lib-files"/>
  588. </unjar>
  589. <mkdir dir="${transcoder-deps}/legal"/>
  590. <copy todir="${transcoder-deps}/legal">
  591. <fileset dir="${lib.dir}">
  592. <include name="avalon.LICENSE.txt"/>
  593. <include name="commons-io.LICENSE.txt"/>
  594. <include name="commons-logging.LICENSE.txt"/>
  595. </fileset>
  596. </copy>
  597. <jar jarfile="${build.dir}/fop-transcoder-allinone.jar">
  598. <fileset refid="transcoder-classes-files"/>
  599. <fileset dir="${transcoder-deps}"/>
  600. <manifest>
  601. <attribute name="Implementation-Title" value="${fop-transcoder.name}"/>
  602. <attribute name="Implementation-Version" value="${fop-transcoder.version}"/>
  603. <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
  604. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  605. </manifest>
  606. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  607. </jar>
  608. </target>
  609. <target name="all" depends="package, servlet, transcoder-pkg, junit"/> <!-- "all" target for us Makefile converts ;-) -->
  610. <!-- =================================================================== -->
  611. <!-- Testing -->
  612. <!-- =================================================================== -->
  613. <target name="junit-with-xmlunit" depends="init-avail" if="xmlunit.present">
  614. <patternset id="test-sources"/>
  615. </target>
  616. <target name="junit-without-xmlunit" depends="init-avail" unless="xmlunit.present">
  617. <patternset id="test-sources">
  618. <exclude name="**/intermediate/*"/>
  619. </patternset>
  620. </target>
  621. <target name="junit-compile" depends="package, transcoder-pkg, junit-with-xmlunit, junit-without-xmlunit" description="Runs FOP's JUnit tests" if="junit.present">
  622. <mkdir dir="${build.dir}/test-classes"/>
  623. <mkdir dir="${junit.reports.dir}"/>
  624. <javac destdir="${build.dir}/test-classes" fork="${javac.fork}"
  625. debug="${javac.debug}" deprecation="${javac.deprecation}"
  626. optimize="${javac.optimize}" source="${javac.source}"
  627. target="${javac.target}">
  628. <src path="${basedir}/test/java"/>
  629. <patternset refid="test-sources"/>
  630. <classpath>
  631. <path refid="libs-build-classpath"/>
  632. <fileset dir="${build.dir}">
  633. <include name="fop.jar"/>
  634. </fileset>
  635. </classpath>
  636. </javac>
  637. </target>
  638. <target name="junit-transcoder" depends="junit-compile" description="Runs FOP's JUnit transcoder tests" if="junit.present">
  639. <echo message="Running basic functionality tests for fop-transcoder.jar"/>
  640. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}">
  641. <sysproperty key="basedir" value="${basedir}"/>
  642. <sysproperty key="jawa.awt.headless" value="true"/>
  643. <formatter type="brief" usefile="false"/>
  644. <formatter type="plain" usefile="true"/>
  645. <formatter type="xml" usefile="true"/>
  646. <classpath>
  647. <pathelement location="${build.dir}/test-classes"/>
  648. <path refid="libs-build-classpath"/>
  649. <fileset dir="${build.dir}">
  650. <include name="fop-transcoder.jar"/>
  651. </fileset>
  652. </classpath>
  653. <test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder"/>
  654. </junit>
  655. <echo message="Running basic functionality tests for fop-transcoder-allinone.jar"/>
  656. <!-- These are the same tests as in the block above but testing the "allinone" JAR
  657. instead. Please don't add any additional paths other than the test classes, the
  658. allinone JAR and the any Batik JARs to the classpath. If this fails, but the
  659. previous test block succeeded it indicates that the packaging of the allinone
  660. JAR needs to be updated.
  661. -->
  662. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  663. <sysproperty key="basedir" value="${basedir}"/>
  664. <sysproperty key="jawa.awt.headless" value="true"/>
  665. <formatter type="brief" usefile="false"/>
  666. <formatter type="plain" usefile="true"/>
  667. <formatter type="xml" usefile="true"/>
  668. <classpath>
  669. <pathelement location="${build.dir}/test-classes"/>
  670. <path refid="libs-build-classpath"/>
  671. <fileset dir="build">
  672. <include name="fop-transcoder-allinone.jar"/>
  673. </fileset>
  674. <fileset dir="${lib.dir}">
  675. <include name="xml-apis*.jar"/>
  676. <include name="xerces*.jar"/>
  677. <include name="batik*.jar"/>
  678. </fileset>
  679. </classpath>
  680. <test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder-allinone"/>
  681. </junit>
  682. </target>
  683. <target name="junit-userconfig" depends="junit-compile" if="junit.present" description="Runs FOP's user config JUnit tests">
  684. <echo message="Running user config tests"/>
  685. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  686. <sysproperty key="basedir" value="${basedir}"/>
  687. <sysproperty key="jawa.awt.headless" value="true"/>
  688. <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
  689. <sysproperty key="fop.layoutengine.testset" value="standard"/>
  690. <formatter type="brief" usefile="false"/>
  691. <formatter type="plain" usefile="true"/>
  692. <formatter type="xml" usefile="true"/>
  693. <classpath>
  694. <pathelement location="${build.dir}/test-classes"/>
  695. <path refid="libs-run-classpath"/>
  696. </classpath>
  697. <test name="org.apache.fop.config.UserConfigTestSuite" todir="${junit.reports.dir}" outfile="TEST-userconfig"/>
  698. </junit>
  699. </target>
  700. <target name="junit-basic" depends="junit-compile" description="Runs FOP's JUnit basic tests" if="junit.present">
  701. <echo message="Running basic functionality tests for fop.jar"/>
  702. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  703. <sysproperty key="basedir" value="${basedir}"/>
  704. <sysproperty key="jawa.awt.headless" value="true"/>
  705. <formatter type="brief" usefile="false"/>
  706. <formatter type="plain" usefile="true"/>
  707. <formatter type="xml" usefile="true"/>
  708. <classpath>
  709. <pathelement location="${build.dir}/test-classes"/>
  710. <path refid="libs-build-classpath"/>
  711. <fileset dir="build">
  712. <include name="fop.jar"/>
  713. </fileset>
  714. </classpath>
  715. <test name="org.apache.fop.StandardTestSuite" todir="${junit.reports.dir}"/>
  716. </junit>
  717. </target>
  718. <target name="hyphenation-present" depends="junit-compile" if="junit.present">
  719. <condition property="hyphenation.present">
  720. <and><!-- All the hyphenation files required by the layout test cases to be listed here -->
  721. <available resource="hyph/en.hyp" classpathref="libs-run-classpath"/>
  722. <available resource="hyph/de.hyp" classpathref="libs-run-classpath"/>
  723. </and>
  724. </condition>
  725. <condition property="hyphenation.message" value="Hyphenation Support PRESENT">
  726. <equals arg1="${hyphenation.present}" arg2="true"/>
  727. </condition>
  728. <condition property="hyphenation.message" value="Hyphenation Support NOT Present - Layout tests which require hyphenation are NOT being run!">
  729. <not>
  730. <equals arg1="${hyphenation.present}" arg2="true"/>
  731. </not>
  732. </condition>
  733. <echo message="${hyphenation.message}"/>
  734. </target>
  735. <target name="junit-layout-standard" depends="junit-compile" if="junit.present" description="Runs FOP's standard JUnit layout tests">
  736. <echo message="Running standard layout engine tests"/>
  737. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  738. <sysproperty key="basedir" value="${basedir}"/>
  739. <sysproperty key="jawa.awt.headless" value="true"/>
  740. <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
  741. <sysproperty key="fop.layoutengine.testset" value="standard"/>
  742. <formatter type="brief" usefile="false"/>
  743. <formatter type="plain" usefile="true"/>
  744. <formatter type="xml" usefile="true"/>
  745. <classpath>
  746. <pathelement location="${build.dir}/test-classes"/>
  747. <path refid="libs-run-classpath"/>
  748. </classpath>
  749. <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-standard"/>
  750. </junit>
  751. </target>
  752. <target name="junit-layout-hyphenation" depends="hyphenation-present, junit-compile" if="hyphenation.present" description="Runs FOP's JUnit hyphenation layout tests">
  753. <echo message="Running hyphenation layout engine tests"/>
  754. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  755. <sysproperty key="basedir" value="${basedir}"/>
  756. <sysproperty key="jawa.awt.headless" value="true"/>
  757. <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
  758. <sysproperty key="fop.layoutengine.testset" value="hyphenation"/>
  759. <formatter type="brief" usefile="false"/>
  760. <formatter type="plain" usefile="true"/>
  761. <formatter type="xml" usefile="true"/>
  762. <classpath>
  763. <pathelement location="${build.dir}/test-classes"/>
  764. <path refid="libs-run-classpath"/>
  765. </classpath>
  766. <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-hyphenation"/>
  767. </junit>
  768. </target>
  769. <target name="junit-layout" depends="junit-layout-standard, junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests" />
  770. <target name="junit-fotree" depends="junit-compile" description="Runs FOP's FO tree JUnit tests" if="junit.present">
  771. <echo message="Running fo tree tests"/>
  772. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  773. <sysproperty key="basedir" value="${basedir}"/>
  774. <sysproperty key="jawa.awt.headless" value="true"/>
  775. <sysproperty key="fop.layoutengine.disabled" value="${fotree.disabled}"/>
  776. <formatter type="brief" usefile="false"/>
  777. <formatter type="plain" usefile="true"/>
  778. <formatter type="xml" usefile="true"/>
  779. <classpath>
  780. <pathelement location="${build.dir}/test-classes"/>
  781. <path refid="libs-build-classpath"/>
  782. <fileset dir="build">
  783. <include name="fop.jar"/>
  784. </fileset>
  785. </classpath>
  786. <test name="org.apache.fop.fotreetest.FOTreeTestSuite" todir="${junit.reports.dir}" outfile="TEST-FO-tree"/>
  787. </junit>
  788. </target>
  789. <target name="junit-intermediate-format" depends="junit-compile" description="Runs FOP's intermediate format JUnit tests" if="xmlunit.present">
  790. <echo message="Running intermediate format tests"/>
  791. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  792. <sysproperty key="basedir" value="${basedir}"/>
  793. <sysproperty key="jawa.awt.headless" value="true"/>
  794. <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
  795. <sysproperty key="fop.layoutengine.testset" value="standard"/>
  796. <formatter type="brief" usefile="false"/>
  797. <formatter type="plain" usefile="true"/>
  798. <formatter type="xml" usefile="true"/>
  799. <classpath>
  800. <pathelement location="${build.dir}/test-classes"/>
  801. <path refid="libs-build-classpath"/>
  802. <fileset dir="build">
  803. <include name="fop.jar"/>
  804. </fileset>
  805. </classpath>
  806. <test name="org.apache.fop.intermediate.IntermediateFormatTestSuite" todir="${junit.reports.dir}" outfile="TEST-intermediate-format"/>
  807. </junit>
  808. </target>
  809. <target name="junit-text-linebreak" depends="junit-compile" description="Runs FOP's JUnit unicode linebreak tests" if="junit.present">
  810. <echo message="Running tests for Unicode UAX#14 support"/>
  811. <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
  812. <sysproperty key="basedir" value="${basedir}"/>
  813. <sysproperty key="jawa.awt.headless" value="true"/>
  814. <formatter type="brief" usefile="false"/>
  815. <formatter type="plain" usefile="true"/>
  816. <formatter type="xml" usefile="true"/>
  817. <classpath>
  818. <pathelement location="${build.dir}/test-classes"/>
  819. <path refid="libs-build-classpath"/>
  820. <fileset dir="build">
  821. <include name="fop.jar"/>
  822. </fileset>
  823. </classpath>
  824. <test name="org.apache.fop.text.linebreak.LineBreakStatusTest" todir="${junit.reports.dir}"/>
  825. </junit>
  826. </target>
  827. <target name="junit" depends="junit-userconfig, junit-basic, junit-transcoder, junit-text-linebreak, junit-layout, junit-fotree, junit-intermediate-format" description="Runs all of FOP's JUnit tests" if="junit.present">
  828. <fail>
  829. <condition>
  830. <or>
  831. <isset property="fop.junit.error"/>
  832. <isset property="fop.junit.failure"/>
  833. <not>
  834. <isset property="hyphenation.present"/>
  835. </not>
  836. </or>
  837. </condition>
  838. NOTE:
  839. **************************************************************************
  840. * One or more of the Junit tests had Failures or Errors or were skipped! *
  841. * Please check the output above for relevant messages. *
  842. * Or use the "junit-reports" target to generate HTML test reports. *
  843. **************************************************************************
  844. </fail>
  845. <echo>All Junit tests passed!</echo>
  846. <echo>Use the "junit-reports" target to generate HTML test reports</echo>
  847. </target>
  848. <!-- haven't made this dependent on "junit" as that would rerun all tests -->
  849. <target name="junit-reports" description="Generates HTML test reports">
  850. <mkdir dir="${junit.html.reports.dir}"/>
  851. <junitreport todir="${junit.reports.dir}">
  852. <fileset dir="${junit.reports.dir}">
  853. <include name="TEST-*.xml"/>
  854. </fileset>
  855. <report format="frames" todir="${junit.html.reports.dir}"/>
  856. </junitreport>
  857. <echo>JUnit HTML test reports should be available in ${junit.html.reports.dir}</echo>
  858. </target>
  859. <!-- =================================================================== -->
  860. <!-- Creates the API documentation -->
  861. <!-- =================================================================== -->
  862. <target name="javadocs" depends="codegen" description="Generates javadocs">
  863. <!--condition property="javadoc.version.ok">
  864. <not>
  865. <or>
  866. <equals arg1="${ant.java.version}" arg2="1.1"/>
  867. <equals arg1="${ant.java.version}" arg2="1.2"/>
  868. <equals arg1="${ant.java.version}" arg2="1.3"/>
  869. </or>
  870. </not>
  871. </condition>
  872. <fail message="Building FOP javadocs requires at least Java 1.4" unless="javadoc.version.ok"/-->
  873. <property name="javadoc.public" value="false"/>
  874. <property name="javadoc.package" value="false"/>
  875. <property name="javadoc.private" value="false"/>
  876. <condition property="javadoc.level" value=" (level: private)">
  877. <equals arg1="${javadoc.private}" arg2="true"/>
  878. </condition>
  879. <condition property="javadoc.level" value=" (level: package)">
  880. <equals arg1="${javadoc.package}" arg2="true"/>
  881. </condition>
  882. <condition property="javadoc.level" value=" (level: public)">
  883. <equals arg1="${javadoc.public}" arg2="true"/>
  884. </condition>
  885. <property name="javadoc.level" value=""/>
  886. <echo message="Producing the javadoc files${javadoc.level}"/>
  887. <mkdir dir="${build.javadocs.dir}"/>
  888. <javadoc
  889. packagenames="${javadoc.packages}"
  890. destdir="${build.javadocs.dir}"
  891. author="true"
  892. version="true"
  893. windowtitle="${Name} ${version} API"
  894. doctitle="Apache Formatting Objects Processor (FOP)"
  895. bottom="Copyright ${year} The Apache Software Foundation. All Rights Reserved."
  896. overview="${src.dir}/java/org/apache/fop/overview.html"
  897. use="true"
  898. failonerror="true"
  899. source="${javac.source}"
  900. public="${javadoc.public}"
  901. package="${javadoc.package}"
  902. private="${javadoc.private}">
  903. <header><![CDATA[${name} ${version}]]></header>
  904. <footer><![CDATA[${name} ${version}]]></footer>
  905. <classpath>
  906. <path refid="libs-build-classpath"/>
  907. <pathelement path="${java.class.path}"/>
  908. </classpath>
  909. <sourcepath>
  910. <pathelement path="${src.java.dir}"/>
  911. <pathelement path="${src.sandbox.dir}"/>
  912. <pathelement path="${build.gensrc.dir}"/>
  913. </sourcepath>
  914. <tag name="todo" scope="all" description="To do:"/>
  915. <group title="Control and Startup">
  916. <package name="org.apache.fop"/>
  917. <package name="org.apache.fop.apps"/>
  918. <package name="org.apache.fop.cli"/>
  919. <package name="org.apache.fop.configuration"/>
  920. <package name="org.apache.fop.messaging"/>
  921. <package name="org.apache.fop.servlet"/>
  922. </group>
  923. <group title="XSL-FO Tree">
  924. <package name="org.apache.fop.fo"/>
  925. <package name="org.apache.fop.fo.*"/>
  926. <package name="org.apache.fop.datatypes"/>
  927. <package name="org.apache.fop.extensions"/>
  928. </group>
  929. <group title="Layout">
  930. <package name="org.apache.fop.layoutmgr"/>
  931. <package name="org.apache.fop.layoutmgr.*"/>
  932. </group>
  933. <group title="Area Tree">
  934. <package name="org.apache.fop.area"/>
  935. <package name="org.apache.fop.area.*"/>
  936. <package name="org.apache.fop.traits"/>
  937. </group>
  938. <group title="Paginated Rendering">
  939. <package name="org.apache.fop.render"/>
  940. <package name="org.apache.fop.render.*"/>
  941. </group>
  942. <group title="Structural Rendering">
  943. <package name="org.apache.fop.render.rtf"/>
  944. <package name="org.apache.fop.render.mif"/>
  945. </group>
  946. <group title="Utility">
  947. <package name="org.apache.fop.hyphenation"/>
  948. <package name="org.apache.fop.pdf"/>
  949. <package name="org.apache.fop.tools"/>
  950. <package name="org.apache.fop.tools.*"/>
  951. <package name="org.apache.fop.svg"/>
  952. <package name="org.apache.fop.image"/>
  953. <package name="org.apache.fop.image.*"/>
  954. <package name="org.apache.fop.fonts"/>
  955. <package name="org.apache.fop.fonts.*"/>
  956. <package name="org.apache.fop.util"/>
  957. </group>
  958. <group title="RTFLib (formerly JFor) Subpackage Candidate">
  959. <package name="org.apache.fop.render.rtf.rtflib"/>
  960. <package name="org.apache.fop.render.rtf.rtflib.*"/>
  961. </group>
  962. </javadoc>
  963. </target>
  964. <target name="jar-javadocs" depends="javadocs" description="Generates a jar file containing the Javadocs">
  965. <jar jarfile="${build.dir}/${name}-${version}-javadoc.jar">
  966. <manifest>
  967. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  968. </manifest>
  969. <fileset dir="${build.javadocs.dir}"/>
  970. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  971. </jar>
  972. </target>
  973. <!-- =================================================================== -->
  974. <!-- Checkstyle -->
  975. <!-- =================================================================== -->
  976. <property name="checkstyle.home.dir" value="${optional.lib.dir}"/>
  977. <property name="checkstyle.noframes.xslt" value="${checkstyle.home.dir}/contrib/checkstyle-noframes.xsl"/>
  978. <path id="checkstyle-path">
  979. <fileset dir="${basedir}/lib">
  980. <include name="checkstyle-all-*.jar"/>
  981. <include name="checkstyle-*.jar"/>
  982. <include name="antlr*.jar"/>
  983. <include name="commons-beanutils*.jar"/>
  984. <include name="commons-collections*.jar"/>
  985. <include name="commons-logging*.jar"/>
  986. <include name="jakarta-regexp*.jar"/>
  987. </fileset>
  988. <fileset dir="${checkstyle.home.dir}">
  989. <include name="checkstyle-all-*.jar"/>
  990. <include name="checkstyle-*.jar"/>
  991. <include name="antlr*.jar"/>
  992. <include name="commons-beanutils*.jar"/>
  993. <include name="commons-collections*.jar"/>
  994. <include name="commons-logging*.jar"/>
  995. <include name="jakarta-regexp*.jar"/>
  996. </fileset>
  997. <!--fileset dir="${optional.lib.dir}">
  998. <include name="checkstyle-all-*.jar"/>
  999. <include name="checkstyle-*.jar"/>
  1000. <include name="antlr*.jar"/>
  1001. <include name="commons-beanutils*.jar"/>
  1002. <include name="commons-collections*.jar"/>
  1003. <include name="commons-logging*.jar"/>
  1004. <include name="jakarta-regexp*.jar"/>
  1005. </fileset-->
  1006. </path>
  1007. <path id="checkstyle-runpath">
  1008. <path refid="checkstyle-path"/>
  1009. <fileset dir="${basedir}/build">
  1010. <include name="fop.jar"/>
  1011. <include name="fop-hyph.jar" />
  1012. </fileset>
  1013. </path>
  1014. <target name="checkstyle-avail" depends="init">
  1015. <available property="checkstyle.available" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstyle-path"/>
  1016. <available property="checkstyle.4.x" classname="com.puppycrawl.tools.checkstyle.checks.coding.ModifiedControlVariableCheck" classpathref="checkstyle-path"/>
  1017. <available property="checkstyle.noframes.xslt.available" file="${checkstyle.noframes.xslt}"/>
  1018. <condition property="checkstyle.message" value="Checkstyle 4.x Support PRESENT">
  1019. <and>
  1020. <equals arg1="${checkstyle.available}" arg2="true"/>
  1021. <equals arg1="${checkstyle.4.x}" arg2="true"/>
  1022. </and>
  1023. </condition>
  1024. <condition property="checkstyle.message" value="Checkstyle 3.x Support PRESENT">
  1025. <equals arg1="${checkstyle.available}" arg2="true"/>
  1026. </condition>
  1027. <condition property="checkstyle.message" value="Checkstyle Support NOT Present">
  1028. <not>
  1029. <equals arg1="${checkstyle.available}" arg2="true"/>
  1030. </not>
  1031. </condition>
  1032. <echo message="${checkstyle.message}"/>
  1033. <condition property="checkstyle.config" value="checkstyle-4.0.xml">
  1034. <equals arg1="${checkstyle.4.x}" arg2="true"/>
  1035. </condition>
  1036. <condition property="checkstyle.config" value="checkstyle-3.5-fop-head.xml">
  1037. <not>
  1038. <equals arg1="${checkstyle.4.x}" arg2="true"/>
  1039. </not>
  1040. </condition>
  1041. <condition property="checkstyle.noframes.xslt.message" value="Checkstyle HTML style sheet support PRESENT">
  1042. <equals arg1="${checkstyle.noframes.xslt.available}" arg2="true"/>
  1043. </condition>
  1044. <condition property="checkstyle.noframes.xslt.message" value="Checkstyle HTML style sheet support NOT Present">
  1045. <not>
  1046. <equals arg1="${checkstyle.noframes.xslt.available}" arg2="true"/>
  1047. </not>
  1048. </condition>
  1049. <echo message="${checkstyle.noframes.xslt.message}"/>
  1050. </target>
  1051. <target name="checkstyle-check" depends="checkstyle-avail, codegen" if="checkstyle.available">
  1052. <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstyle-runpath"/>
  1053. <checkstyle config="${checkstyle.config}" failonviolation="false"
  1054. classpathref="checkstyle-runpath">
  1055. <fileset dir="${src.java.dir}" includes="**/*.java"/>
  1056. <formatter type="plain" toFile="${build.dir}/checkstyle_report.txt"/>
  1057. <formatter type="xml" toFile="${build.dir}/checkstyle_report.xml"/>
  1058. </checkstyle>
  1059. </target>
  1060. <target name="checkstyle-html" depends="checkstyle-avail, checkstyle-check" if="checkstyle.noframes.xslt.available">
  1061. <xslt in="${build.dir}/checkstyle_report.xml" out="${build.dir}/checkstyle_report.html" style="${checkstyle.noframes.xslt}"/>
  1062. </target>
  1063. <target name="checkstyle" depends="checkstyle-avail, checkstyle-check, checkstyle-html" description="Runs Checkstyle for a code quality report"/>
  1064. <!-- =================================================================== -->
  1065. <!-- Creates the documentation -->
  1066. <!-- =================================================================== -->
  1067. <target name="docs" description="Generates documentation">
  1068. <echo message="Building documentation with Forrest..."/>
  1069. <!--
  1070. <echo message="Make sure that you have installed Apache Forrest and"/>
  1071. <echo message="the FORREST_HOME environment variable is set (see http://forrest.apache.org/)"/>
  1072. <echo message="FORREST_HOME = ${forrest.home}"/>
  1073. -->
  1074. <echo message="Make sure you have a proper Forrest installation (see http://forrest.apache.org/)"/>
  1075. <condition property="forrest.call" value="forrest.bat" else="forrest">
  1076. <os family="windows"/>
  1077. </condition>
  1078. <exec executable="${forrest.call}"/>
  1079. </target>
  1080. <!-- =================================================================== -->
  1081. <!-- Creates the distribution -->
  1082. <!-- =================================================================== -->
  1083. <target name="dist" depends="dist-prereq,dist-src,dist-bin" description="Generates the distribution package"/>
  1084. <target name="dist-prereq" depends="init">
  1085. <fail message="A complete binary build requires JAI" unless="jai.present"/>
  1086. <fail message="A complete binary build requires JCE" unless="jce.present"/>
  1087. </target>
  1088. <target name="dist-bin" depends="all,javadocs,docs">
  1089. <echo message="Building the binary distribution files (zip,tar)"/>
  1090. <mkdir dir="${dist.bin.result.dir}"/>
  1091. <copy todir="${dist.bin.result.dir}">
  1092. <fileset refid="dist.bin"/>
  1093. <fileset refid="dist.bin.lib"/>
  1094. </copy>
  1095. <copy todir="${dist.bin.result.dir}/docs">
  1096. <fileset dir="${build.dir}/site"/>
  1097. </copy>
  1098. <copy todir="${dist.bin.result.dir}/javadocs">
  1099. <fileset dir="${build.javadocs.dir}"/>
  1100. </copy>
  1101. <mkdir dir="${dist.bin.result.dir}/build"/>
  1102. <copy todir="${dist.bin.result.dir}/build" file="build/fop.jar"/>
  1103. <chmod file="${dist.bin.result.dir}/fop" perm="ugo+rx"/>
  1104. <zip zipfile="${name}-${version}-bin.zip" basedir="${dist.bin.dir}" includes="**"/>
  1105. <tar longfile="gnu"
  1106. destfile="${name}-${version}-bin.tar">
  1107. <tarfileset dir="${dist.bin.dir}" mode="755">
  1108. <include name="${name}-${version}/fop"/>
  1109. </tarfileset>
  1110. <tarfileset dir="${dist.bin.dir}">
  1111. <include name="**"/>
  1112. <exclude name="${name}-${version}/fop"/>
  1113. </tarfileset>
  1114. </tar>
  1115. <gzip zipfile="${name}-${version}-bin.tar.gz" src="${name}-${version}-bin.tar"/>
  1116. <delete file="${name}-${version}-bin.tar"/>
  1117. </target>
  1118. <target name="dist-src" depends="all">
  1119. <echo message="Building the source distribution files (zip,tar)"/>
  1120. <mkdir dir="${dist.src.result.dir}"/>
  1121. <copy todir="${dist.src.result.dir}">
  1122. <fileset refid="dist.src"/>
  1123. </copy>
  1124. <chmod file="${dist.src.result.dir}/fop" perm="ugo+rx"/>
  1125. <zip zipfile="${name}-${version}-src.zip" basedir="${dist.src.dir}" includes="**"/>
  1126. <tar longfile="gnu"
  1127. destfile="${name}-${version}-src.tar" >
  1128. <tarfileset dir="${dist.src.dir}" mode="755">
  1129. <include name="${name}-${version}/fop"/>
  1130. </tarfileset>
  1131. <tarfileset dir="${dist.src.dir}">
  1132. <include name="**"/>
  1133. <exclude name="${name}-${version}/fop"/>
  1134. </tarfileset>
  1135. </tar>
  1136. <gzip zipfile="${name}-${version}-src.tar.gz" src="${name}-${version}-src.tar"/>
  1137. <delete file="${name}-${version}-src.tar"/>
  1138. </target>
  1139. <!-- =================================================================== -->
  1140. <!-- Maven artifacts -->
  1141. <!-- =================================================================== -->
  1142. <target name="maven-artifacts" depends="jar-main, jar-sources, jar-javadocs" description="Builds a Maven artifact that can be uploaded to a Maven repository">
  1143. <filter token="version" value="${version}"/>
  1144. <mkdir dir="${build.dir}/maven"/>
  1145. <copy file="${basedir}/xmlgraphics-fop-pom-template.pom" tofile="${build.dir}/maven/pom.xml" filtering="true"/>
  1146. <copy file="${build.dir}/${name}.jar" tofile="${build.dir}/maven/${name}-${version}.jar"/>
  1147. <jar jarfile="${build.dir}/${name}-${version}-bundle.jar">
  1148. <manifest>
  1149. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
  1150. </manifest>
  1151. <fileset dir="${build.dir}">
  1152. <include name="${name}-${version}-sources.jar"/>
  1153. <include name="${name}-${version}-javadoc.jar"/>
  1154. </fileset>
  1155. <fileset dir="${build.dir}/maven"/>
  1156. <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
  1157. </jar>
  1158. </target>
  1159. <!-- =================================================================== -->
  1160. <!-- Generate example PDFs -->
  1161. <!-- =================================================================== -->
  1162. <target name="examples" depends="package" description="Generates example PDF files">
  1163. <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"
  1164. classpathref="libs-run-classpath"/>
  1165. <mkdir dir="${build.examples.dir}"/>
  1166. <fop format="${build.property.examples.mime.type}" outdir="${build.examples.dir}"
  1167. messagelevel="debug" basedir="${fo.examples.dir}" userconfig="${fo.examples.userconfig}"
  1168. force="${fo.examples.force}">
  1169. <fileset dir="${fo.examples.dir}">
  1170. <include name="${fo.examples.include}"/>
  1171. </fileset>
  1172. </fop>
  1173. </target>
  1174. <!-- =================================================================== -->
  1175. <!-- Helper task to generate source files that have already been -->
  1176. <!-- checked into CVS. For these files, CVS version is the official one -->
  1177. <!-- and may have updates that will *not* be generated by below. This -->
  1178. <!-- target should never be part of the normal build process. -->
  1179. <!-- =================================================================== -->
  1180. <target name="codegen-fo" >
  1181. <style in="${src.codegen.dir}/fo/constants.xml" style="${src.codegen.dir}/fo/constants.xsl"
  1182. out="Constants.java"/>
  1183. <style in="${src.codegen.dir}/fo/foelements.xml" style="${src.codegen.dir}/fo/property-sets.xsl"
  1184. out="PropertySets.java"/>
  1185. </target>
  1186. <!-- =================================================================== -->
  1187. <!-- Helper task to generate source files that have already been -->
  1188. <!-- checked into CVS. For these files, CVS version is the official one -->
  1189. <!-- and may have updates that will *not* be generated by below. This -->
  1190. <!-- target should never be part of the normal build process. -->
  1191. <!-- =================================================================== -->
  1192. <target name="codegen-unicode" >
  1193. <mkdir dir="${build.codegen-classes.dir}"/>
  1194. <javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}"
  1195. deprecation="${javac.deprecation}" optimize="${javac.optimize}"
  1196. source="${javac.source}" target="${javac.target}">
  1197. <src path="${src.codegen.dir}/unicode/java"/>
  1198. </javac>
  1199. <java classname="org.apache.fop.text.linebreak.GenerateLineBreakUtils" classpath="${build.codegen-classes.dir}" />
  1200. </target>
  1201. <!-- =================================================================== -->
  1202. <!-- Special target for Gump -->
  1203. <!-- =================================================================== -->
  1204. <target name="gump" depends="all, javadocs"/>
  1205. <!-- =================================================================== -->
  1206. <!-- Clean targets -->
  1207. <!-- =================================================================== -->
  1208. <target name="clean" description="Cleans the build directory">
  1209. <delete dir="${build.dir}"/>
  1210. </target>
  1211. <target name="distclean" depends="clean" description="Cleans the distribution target directories">
  1212. <delete dir="${dist.src.dir}"/>
  1213. <delete dir="${dist.bin.dir}"/>
  1214. <delete>
  1215. <fileset dir="${basedir}" includes="${name}-*.tar.gz"/>
  1216. <fileset dir="${basedir}" includes="${name}-*.zip"/>
  1217. </delete>
  1218. </target>
  1219. <target name="validate-xdocs" description="Validate the
  1220. xdocs. Point schemas.dir to Forrest's 'schemas' directory.">
  1221. <property name="schemas.dir" value="../xml-forrest/src/resources/schema"/>
  1222. <xmlvalidate failonerror="no">
  1223. <fileset dir="${xdocs.dir}" includes="**.xml"/>
  1224. <xmlcatalog>
  1225. <entity publicId="-//APACHE//DTD Compliance V1.0//EN"
  1226. location="src/documentation/resources/schema/dtd/compliance-v10.dtd"/>
  1227. <entity publicId="-//APACHE//DTD Documentation V1.1//EN"
  1228. location="${schemas.dir}/dtd/document-v11.dtd"/>
  1229. <entity publicId="-//APACHE//DTD Specification V1.1//EN"
  1230. location="${schemas.dir}/dtd/specification-v11.dtd"/>
  1231. <entity publicId="-//APACHE//DTD FAQ V1.1//EN"
  1232. location="${schemas.dir}/dtd/faq-v11.dtd"/>
  1233. <entity publicId="-//APACHE//DTD Changes V1.1//EN"
  1234. location="${schemas.dir}/dtd/changes-v11.dtd"/>
  1235. <entity publicId="-//APACHE//DTD Todo V1.1//EN"
  1236. location="${schemas.dir}/dtd/todo-v11.dtd"/>
  1237. <entity publicId="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"
  1238. location="${schemas.dir}/dtd/book-cocoon-v10.dtd"/>
  1239. <entity publicId="-//APACHE//DTD Cocoon Documentation Tab V1.0//EN"
  1240. location="${schemas.dir}/dtd/tab-cocoon-v10.dtd"/>
  1241. <entity publicId="-//APACHE//DTD How-to V1.0//EN"
  1242. location="${schemas.dir}/dtd/howto-v10.dtd"/>
  1243. <entity publicId="-//APACHE//DTD Gump Descriptor V1.0//EN"
  1244. location="${schemas.dir}/dtd/xgump-draft.dtd"/>
  1245. <entity publicId="-//APACHE//DTD JavaDoc V1.0//EN"
  1246. location="${schemas.dir}/dtd/javadoc-v04draft.dtd"/>
  1247. <entity publicId="-//APACHE//DTD Contributors V1.0//EN"
  1248. location="${schemas.dir}/dtd/contributors-v10.dtd"/>
  1249. <entity publicId="-//Outerthought//DTD Libre Configuration V0.1//EN"
  1250. location="${schemas.dir}/dtd/libre-v01.dtd"/>
  1251. <entity publicId="-//APACHE//ENTITIES Documentation V1.1//EN"
  1252. location="${schemas.dir}/dtd/document-v11.mod"/>
  1253. <entity publicId="-//APACHE//ENTITIES FAQ V1.1//EN"
  1254. location="${schemas.dir}/dtd/faq-v11.mod"/>
  1255. <entity publicId="-//APACHE//ENTITIES Todo V1.1//EN"
  1256. location="${schemas.dir}/dtd/todo-v11.mod"/>
  1257. <entity publicId="-//APACHE//ENTITIES Common Elements V1.0//EN"
  1258. location="${schemas.dir}/dtd/common-elems-v10.mod"/>
  1259. <entity publicId="-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
  1260. location="${schemas.dir}/dtd/common-charents-v10.mod"/>
  1261. <entity publicId="ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"
  1262. location="${schemas.dir}/entity/ISOlat1.pen"/>
  1263. <entity publicId="ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
  1264. location="${schemas.dir}/entity/ISOgrk1.pen"/>
  1265. <entity publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
  1266. location="${schemas.dir}/entity/ISOpub.pen"/>
  1267. <entity publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
  1268. location="${schemas.dir}/entity/ISOtech.pen"/>
  1269. <entity publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
  1270. location="${schemas.dir}/entity/ISOnum.pen"/>
  1271. <entity publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
  1272. location="${schemas.dir}/entity/ISOdia.pen"/>
  1273. <entity publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
  1274. location="${schemas.dir}/entity/ISOlat1.pen"/>
  1275. </xmlcatalog>
  1276. </xmlvalidate>
  1277. </target>
  1278. </project>