You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by gi...@credit-suisse.ch on 1999/12/17 12:12:05 UTC

preliminary build.xml

Hi

I've written a simple ant/build.xml for fop. It makes the codegen section
from the Makefile, compiles all java files and make a jar in the build
directory. The build process is much faster with ant. Unfortunately there
are no conditionals in ant so if you do a "build.sh codegen" or a "build.sh
all" the properties and fonts are always build. The codegen section will be
skipped if you do a "build.sh".

Giacomo

--

<?xml version="1.0"?>

<project default="package" basedir=".">

  <property name="name" value="fop"/>
  <property name="version" value="?.?-dev"/>
  <property name="year" value="1999"/>

  <property name="build.compiler" value="classic"/>
  <property name="debug" value="off"/>

  <property name="src.dir" value="./src"/>
  <property name="src.codegen" value="./src/codegen"/>
  <property name="packages" value="org.apache.fop.*"/>

  <property name="build.dir" value="./build"/>
  <property name="build.src" value="./build/src"/>
  <property name="build.codegen" value="./build/src/codegen"/>
  <property name="build.dest" value="./build/classes"/>

  <property name="properties.dir" value="org/apache/fop/fo/properties"/>
  <property name="fonts.dir" value="org/apache/fop/render/pdf/fonts"/>

  <property name="xslt" value="com.jclark.xsl.sax.Driver"/>
  <property name="replacestring" value="org/apache/fop"/>
  <property name="src.properties.xsl"
value="${src.codegen}/properties.xsl"/>
  <property name="properties.xml" value="${build.codegen}/properties.xml"/>
  <property name="properties.xsl" value="${build.codegen}/properties.xsl"/>
  <property name="src.charlist.xsl"
value="${src.codegen}/code-point-mapping.xsl"/>
  <property name="charlist.xml" value="${build.codegen}/charlist.xml"/>
  <property name="charlist.xsl"
value="${build.codegen}/code-point-mapping.xsl"/>
  <property name="fontfile.xsl" value="${build.codegen}/font-file.xsl"/>
  <property name="Courier.xml" value="${build.codegen}/Courier.xml"/>
  <property name="Courier-Oblique.xml"
value="${build.codegen}/Courier-Oblique.xml"/>
  <property name="Courier-Bold.xml"
value="${build.codegen}/Courier-Bold.xml"/>
  <property name="Courier-BoldOblique.xml"
value="${build.codegen}/Courier-BoldOblique.xml"/>
  <property name="Helvetica.xml" value="${build.codegen}/Helvetica.xml"/>
  <property name="Helvetica-Oblique.xml"
value="${build.codegen}/Helvetica-Oblique.xml"/>
  <property name="Helvetica-Bold.xml"
value="${build.codegen}/Helvetica-Bold.xml"/>
  <property name="Helvetica-BoldOblique.xml"
value="${build.codegen}/Helvetica-BoldOblique.xml"/>
  <property name="Times-Roman.xml"
value="${build.codegen}/Times-Roman.xml"/>
  <property name="Times-Italic.xml"
value="${build.codegen}/Times-Italic.xml"/>
  <property name="Times-Bold.xml" value="${build.codegen}/Times-Bold.xml"/>
  <property name="Times-BoldItalic.xml"
value="${build.codegen}/Times-BoldItalic.xml"/>

  <!--
=================================================================== -->
  <!-- Prepares the build
          -->
  <!--
=================================================================== -->
  <target name="prepare">
    <!-- create directories -->
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.src}"/>
    <mkdir dir="${build.dest}"/>

    <!-- copy src files -->
    <copydir src="${src.dir}" dest="${build.src}"
        ignore="Makefile package.html"/>
    <mkdir dir="${build.src}/${properties.dir}"/>
    <mkdir dir="${build.src}/${fonts.dir}"/>

  </target>

  <!--
=================================================================== -->
  <!-- Generate the source
     -->
  <!--
=================================================================== -->
  <target name="codegen" depends="prepare">
    <!-- resetting codegen directory -->
    <deltree dir="${build.codegen}"/>
    <copydir src="${src.codegen}" dest="${build.codegen}"/>
    <replace file="${properties.xsl}"
        token="${replacestring}" value="${build.src}/${replacestring}"/>
    <replace file="${charlist.xsl}"
        token="${replacestring}" value="${build.src}/${replacestring}"/>
    <replace file="${fontfile.xsl}"
        token="${replacestring}" value="${build.src}/${replacestring}"/>

    <!-- generate the java files from xml resources -->
    <java class="${xslt}" args="${properties.xml} ${properties.xsl}"/>
    <java class="${xslt}" args="${charlist.xml} ${charlist.xsl}"/>
    <java class="${xslt}" args="${Courier.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Courier-Oblique.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Courier-Bold.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Courier-BoldOblique.xml}
${fontfile.xsl}"/>
    <java class="${xslt}" args="${Helvetica.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Helvetica-Oblique.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Helvetica-Bold.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Helvetica-BoldOblique.xml}
${fontfile.xsl}"/>
    <java class="${xslt}" args="${Times-Roman.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Times-Italic.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Times-Bold.xml} ${fontfile.xsl}"/>
    <java class="${xslt}" args="${Times-BoldItalic.xml} ${fontfile.xsl}"/>
  </target>

  <!--
=================================================================== -->
  <!-- Compiles the source
          -->
  <!--
=================================================================== -->
  <target name="compile" depends="prepare">
    <javac srcdir="${build.src}" destdir="${build.dest}" debug="${debug}"/>
  </target>

  <!--
=================================================================== -->
  <!-- Creates the class
        -->
  <!--
=================================================================== -->
  <target name="package" depends="compile">
    <jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}"
items="org"/>
  </target>

  <!--
=================================================================== -->
  <!-- Make
    -->
  <!--
=================================================================== -->
  <target name="all" depends="codegen,compile"/>

  <!--
=================================================================== -->
  <!-- Cleans
           -->
  <!--
=================================================================== -->
  <target name="clean">
    <deltree dir="${build.dir}"/>
  </target>

</project>