</fileset>
</path>
+ <patternset id="exclude-jai">
+ <exclude name="org/apache/fop/image/JAIImage.java" unless="jai.present"/>
+ <exclude name="org/apache/fop/render/pcl/JAIMonochromeBitmapConverter.java" unless="jai.present"/>
+ </patternset>
+
<patternset id="exclude-jce-dependencies">
<exclude name="org/apache/fop/pdf/PDFEncryptionJCE.java" unless="jce.present"/>
</patternset>
<echo message="VM: ${java.vm.version}, ${java.vm.vendor}"/>
<echo message="JAVA_HOME: ${env.JAVA_HOME}"/>
+ <available property="jai.present" classname="javax.media.jai.JAI"
+ classpathref="libs-build-classpath"/>
+ <condition property="jai.message" value="JAI Support PRESENT">
+ <equals arg1="${jai.present}" arg2="true"/>
+ </condition>
+ <condition property="jai.message" value="JAI Support NOT Present">
+ <not>
+ <equals arg1="${jai.present}" arg2="true"/>
+ </not>
+ </condition>
+ <echo message="${jai.message}"/>
+
<available property="jce.present" classname="javax.crypto.Cipher"
classpathref="libs-build-classpath"/>
<condition property="jce.message" value="JCE Support PRESENT">
<src path="${src.java.dir}"/>
<patternset includes="**/*.java"/>
<patternset refid="exclude-jce-dependencies"/>
+ <patternset refid="exclude-jai"/>
<classpath refid="libs-build-classpath"/>
</javac>
<copy todir="${build.classes.dir}">
source="${javac.source}" target="${javac.target}">
<src path="${src.sandbox.dir}"/>
<patternset includes="**/*.java"/>
+ <patternset refid="exclude-jai"/>
<classpath>
<path refid="libs-build-classpath"/>
<pathelement location="${build.classes.dir}"/>
<!-- =================================================================== -->
<!-- Creates the distribution -->
<!-- =================================================================== -->
- <target name="dist" depends="dist-src,dist-bin" description="Generates the distribution package"/>
+ <target name="dist" depends="dist-prereq,dist-src,dist-bin" description="Generates the distribution package"/>
+
+ <target name="dist-prereq" depends="init">
+ <fail message="A complete binary build requires JAI" unless="jai.present"/>
+ <fail message="A complete binary build requires JCE" unless="jce.present"/>
+ </target>
<target name="dist-bin" depends="all,javadocs,docs">
<echo message="Building the binary distribution files (zip,tar)"/>
- <fail message="A complete binary build requires JCE" unless="jce.present"/>
<mkdir dir="${dist.bin.result.dir}"/>
<copy todir="${dist.bin.result.dir}">
<fileset refid="dist.bin"/>
https://jai-imageio.dev.java.net/
BSD license
- Note: Not the whole JAI is needed, only the ImageIO-compatible codecs
- packaged as "Image I/O Tools". The name may be misleading.
+ Note: This is not the same as JAI! Only the ImageIO-compatible codecs
+ are packaged as "Image I/O Tools". The name may be misleading.
+
+ - JAI (Java Advanced Imaging API)
+
+ http://java.sun.com/products/java-media/jai
+ Java Research License and Java Distribution License (Check which one applies to you!)
+
+ Currently used for:
+ - Grayscale error diffusion dithering in the PCL Renderer
- JEuclid (MathML implementation, for the MathML extension)
</ul>
</p>
<p>
- The image libraries Jimi and JAI are no longer needed (and used). Instead we rely
- completely on the Image I/O API that has been introduced with Java 1.4. If you still
- need support for bitmap image formats that do not work out-of-the-box, we recommend
- adding <link href="http://jai-imageio.dev.java.net/">JAI Image I/O Tools</link>
- (an Image I/O compatible image codec package) to the classpath.
+ The image libraries Jimi and JAI are no longer needed (and used) for image loading.
+ Instead we rely completely on the Image I/O API that has been introduced with
+ Java 1.4. If you still need support for bitmap image formats that do not work
+ out-of-the-box, we recommend adding
+ <link href="http://jai-imageio.dev.java.net/">JAI Image I/O Tools</link>
+ (an Image I/O compatible image codec package) to the classpath. JAI is still required
+ for building the FOP distribution but it is optional for normal builds and at run-time.
</p>
</section>
</notes>