slf4j/build.xml

247 lines
8.0 KiB
XML

<project name="slf4j" default="usage" basedir="." >
<!-- The build.properties file defines the path to local files -->
<property file="build.properties"/>
<!-- The directory where source files are stored. -->
<property name="version" value="1.0-beta5"/>
<property name="tmp.java.source.dir" value="./tmp/src"/>
<property name="tmp.javac.dest" value="./tmp/classes"/>
<property name="dist.images" value="dist/images"/>
<property name="dist.tmp" value="dist/tmp"/>
<property name="deprecation" value="on"/>
<property name="SLF4J_STEM" value="org/slf4j"/>
<!-- ================================================================= -->
<!-- Default target -->
<!-- ================================================================= -->
<target name="usage">
<echo>
These are some of the targets supported by this ANT build scpript:
slf4j-nop.jar - build the jar file of the same name.
slf4j-simple.jar - build the jar file of the same name.
slf4j-jdk14.jar - build the jar file of the same name.
jar - all of the above jar files
</echo>
</target>
<target name="init">
<mkdir dir="tmp"/>
<mkdir dir="${tmp.java.source.dir}"/>
<mkdir dir="${tmp.javac.dest}"/>
</target>
<!-- ================================================================= -->
<!-- Remove all generated (compiled) class files. -->
<!-- ================================================================= -->
<target name="clean" description="Delete all compiled SLF4J files.">
<delete dir="${javac.dest}/org/slf4j" />
</target>
<target name="julCheck">
<available classname="java.util.logging.Logger" property="julPresent">
</available>
<fail unless="julPresent">
Building the SLF4J implementation for JDK 1.4 logging
requires the presence of JDK 1.4 or later.
</fail>
</target>
<!-- =================================================================== -->
<!-- Generic target that can build NOP, Simple and JDK14 implementations -->
<!-- as specified by the "jar-name" and "impl" parameters. -->
<!-- =================================================================== -->
<target name="slf4j-IMPL.jar" depends="init">
<!-- delete all previously existing files in tmp -->
<delete><fileset dir="tmp/" includes="**/*"/></delete>
<!-- copy a filtered version of slf4j to tmp/src -->
<copy todir="tmp/src">
<fileset dir="src/filtered-java">
<include name="**/*.java"/>
</fileset>
<filterset><filter token="IMPL" value="${IMPL}"/></filterset>
<filterset>
<filter token="MARKER_FACTORY_IMPL_PREFIX"
value="Basic"/>
</filterset>
</copy>
<copy todir="tmp/src">
<fileset dir="src/java">
<include name="**/*.java"/>
</fileset>
</copy>
<javac srcdir="${tmp.java.source.dir}"
destdir="${tmp.javac.dest}"
deprecation="on"
includes="${SLF4J_STEM}/*.java,
${SLF4J_STEM}/impl/MessageFormatter.java,
${SLF4J_STEM}/impl/${impl}*.class"
debug="${debug}">
</javac>
<jar jarfile="${jar-name}" basedir="${tmp.javac.dest}"
includes="${SLF4J_STEM}/*.class,
${SLF4J_STEM}/impl/MessageFormatter.class,
${SLF4J_STEM}/impl/${IMPL}*.class"
>
<manifest>
<attribute name="Manifest-version" value="${version}"/>
<section name="org/slf4j/">
<attribute name="Implementation-Title" value="${IMPL} implementation"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="SLF4J.ORG"/>
</section>
</manifest>
</jar>
</target>
<target name="slf4j-nop.jar">
<antcall target="slf4j-IMPL.jar">
<param name="IMPL" value="NOP"/>
<param name="jar-name" value="slf4j-nop.jar"/>
</antcall>
</target>
<target name="slf4j-simple.jar">
<antcall target="slf4j-IMPL.jar">
<param name="IMPL" value="Simple"/>
<param name="jar-name" value="slf4j-simple.jar"/>
</antcall>
</target>
<target name="slf4j-jdk14.jar" depends="julCheck">
<antcall target="slf4j-IMPL.jar">
<param name="IMPL" value="JDK14"/>
<param name="jar-name" value="slf4j-jdk14.jar"/>
</antcall>
</target>
<target name="jar" depends="slf4j-nop.jar, slf4j-simple.jar, slf4j-jdk14.jar"/>
<!-- Build Javadoc -->
<target name="javadoc" depends="init">
<!-- delete all previously existing files in tmp -->
<delete><fileset dir="tmp/" includes="**/*"/></delete>
<!-- copy a filtered version of slf4j to tmp/src -->
<copy todir="tmp/src">
<fileset dir="src/filtered-java">
<include name="**/*.java"/>
</fileset>
<filterset><filter token="IMPL" value="NOP"/></filterset>
<filterset><filter token="MARKER_FACTORY_IMPL_PREFIX"
value="Basic"/>
</filterset>
</copy>
<copy todir="tmp/src">
<fileset dir="src/java">
<include name="**/*.java"/>
<include name="**/*.html"/>
</fileset>
</copy>
<mkdir dir="${javadoc.dest}" />
<javadoc sourcepath="${tmp.java.source.dir}"
destdir="${javadoc.dest}"
packagenames="org.slf4j, org.slf4j.impl"
additionalparam="-breakiterator"
version="true"
protected="true"
author="true"
use="true"
overview="src/docs/overview.html"
doctitle="SLF4J version ${version}"
windowtitle="SLF4J Version ${version}"
header="&lt;b&gt;SLF4J ${version}&lt;/b&gt;"
bottom="Copyright 2004-2005
&lt;a href=http://www.slf4j.org&gt;
&lt;b&gt;SLF4J.ORG&lt;b&gt;&lt;a&gt;">
<link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
<link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/>
</javadoc>
</target>
<target name="site">
<ant dir="${slf4j-site}" antfile="build.xml" target="site"/>
</target>
<!-- ================================================================= -->
<!-- Build a complete distribution. Results go to ${dist.images} -->
<!-- ================================================================= -->
<target name="dist" depends="init, clean, javadoc, jar, site">
<delete verbose="true">
<fileset dir=".">
<patternset>
<include name="**/*.bak"/>
<include name="${BSTEM}/**/temp*"/>
</patternset>
</fileset>
</delete>
<mkdir dir="${dist.images}" />
<mkdir dir="${dist.tmp}/slf4j-${version}" />
<copy todir="${dist.tmp}/slf4j-${version}">
<fileset dir="./"
includes="src/**,
build.xml,
build.properties.sample,
INSTALL.txt,
LICENSE.txt,
slf4j-*.jar"
excludes="**/*.bak,
**/.#*"
/>
</copy>
<copy todir="${dist.tmp}/slf4j-${version}">
<fileset dir="${slf4j-site}/"
includes="docs/**"
excludes="docs/dist/**,
*.bak,
**/.#*"
/>
</copy>
<tar tarfile="${dist.images}/slf4j-${version}.tar"
basedir="${dist.tmp}"
includes="slf4j-${version}/**" />
<gzip src="${dist.images}/slf4j-${version}.tar"
zipfile="${slf4j-site}/docs/dist/slf4j-${version}.tar.gz" />
<zip zipfile="${slf4j-site}/docs/dist/slf4j-${version}.zip"
basedir="${dist.tmp}"
includes="slf4j-${version}/**" />
<delete dir="${dist.tmp}" />
</target>
</project>