<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: build.xml,v 1.28 2014/10/28 11:18:49 ylafon Exp $ -->
<project default="jar" name="W3C CSS Validator">
<!-- =================================================================== -->
<!-- User-overrideable properties -->
<!-- =================================================================== -->
<property name="servlet.lib" value="/usr/share/java/servlet-2.3.jar"/>
<!-- =================================================================== -->
<!-- Project-wide properties -->
<!-- =================================================================== -->
<!-- Overriding those properties works too, but is not advisable. -->
<property name="app.name" value="css-validator"/>
<property name="jar.file" value="${app.name}.jar"/>
<property name="war.file" value="${app.name}.war"/>
<!-- =================================================================== -->
<!-- Targets -->
<!-- =================================================================== -->
<path id="build.class.path">
<pathelement location="${servlet.lib}"/>
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="prepare.check">
<condition property="prepare.run">
<and>
<available file="lib/jigsaw.jar"/>
<available file="lib/commons-beanutils-1.9.0.jar"/>
<available file="lib/commons-collections-3.2.1.jar"/>
<available file="lib/commons-digester-1.8.1.jar"/>
<available file="lib/commons-lang-2.6.jar"/>
<available file="lib/commons-logging-1.1.1.jar"/>
<available file="lib/velocity-1.7.jar"/>
<available file="lib/xercesImpl.jar"/>
<available file="lib/xml-apis.jar"/>
<available file="lib/tagsoup-1.2.1.jar"/>
<available file="lib/servlet-api-2.5-6.0.0.jar"/>
<available file="lib/htmlparser-1.4.jar"/>
<available file="lib/velocity-tools-generic-2.0.jar"/>
</and>
</condition>
</target>
<target name="prepare" description="Downloads necessary libs" depends="prepare.check" unless="prepare.run">
<mkdir dir="lib"/>
<mkdir dir="tmp"/>
<get dest="tmp/jigsaw_2.2.6.tar.gz" src="http://jigsaw.w3.org/Distrib/jigsaw_2.2.6.tar.gz" usetimestamp="true"/>
<get dest="tmp/commons-collections-3.2.1-bin.zip" src="http://www.apache.org/dist/commons/collections/binaries/commons-collections-3.2.1-bin.zip" usetimestamp="true"/>
<get dest="tmp/commons-digester-1.8.1-bin.zip" src="https://archive.apache.org/dist/commons/digester/binaries/commons-digester-1.8.1-bin.zip" usetimestamp="true"/>
<get dest="tmp/commons-lang-2.6-bin.zip" src="http://www.apache.org/dist/commons/lang/binaries/commons-lang-2.6-bin.zip" usetimestamp="true"/>
<get dest="tmp/velocity-1.7.tar.gz" src="http://www.apache.org/dist/velocity/engine/1.7/velocity-1.7.tar.gz" usetimestamp="true"/>
<get dest="tmp/velocity-tools-2.0.tar.gz" src="http://www.apache.org/dist/velocity/tools/2.0/velocity-tools-2.0.tar.gz" usetimestamp="true"/>
<get dest="tmp/Xerces-J-bin.2.11.0.tar.gz" src="http://www.apache.org/dist/xerces/j/binaries/Xerces-J-bin.2.11.0.tar.gz" usetimestamp="true"/>
<get dest="tmp/servlet-api-2.5-6.0.0.jar" src="http://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api/2.5-6.0.0/servlet-api-2.5-6.0.0.jar" usetimestamp="true"/>
<get dest="tmp/htmlparser-1.4.zip" src="http://about.validator.nu/htmlparser/htmlparser-1.4.zip" usetimestamp="true"/>
<untar compression="gzip" src="tmp/jigsaw_2.2.6.tar.gz" dest="tmp"/>
<unzip src="tmp/commons-collections-3.2.1-bin.zip" dest="tmp"/>
<unzip src="tmp/commons-digester-1.8.1-bin.zip" dest="tmp"/>
<unzip src="tmp/commons-lang-2.6-bin.zip" dest="tmp"/>
<unzip src="tmp/htmlparser-1.4.zip" dest="tmp"/>
<untar compression="gzip" src="tmp/velocity-1.7.tar.gz" dest="tmp"/>
<untar compression="gzip" src="tmp/velocity-tools-2.0.tar.gz" dest="tmp"/>
<untar compression="gzip" src="tmp/Xerces-J-bin.2.11.0.tar.gz" dest="tmp"/>
<copy file="tmp/servlet-api-2.5-6.0.0.jar" tofile="lib/servlet-api-2.5-6.0.0.jar"/>
<copy file="tmp/Jigsaw/classes/jigsaw.jar" tofile="lib/jigsaw.jar"/>
<copy file="tmp/commons-collections-3.2.1/commons-collections-3.2.1.jar" tofile="lib/commons-collections-3.2.1.jar"/>
<copy file="tmp/commons-digester-1.8.1/commons-digester-1.8.1.jar" tofile="lib/commons-digester-1.8.1.jar"/>
<copy file="tmp/commons-lang-2.6/commons-lang-2.6.jar" tofile="lib/commons-lang-2.6.jar"/>
<copy file="tmp/velocity-1.7/velocity-1.7.jar" tofile="lib/velocity-1.7.jar"/>
<copy file="tmp/velocity-tools-2.0/lib/velocity-tools-generic-2.0.jar" tofile="lib/velocity-tools-generic-2.0.jar"/>
<copy file="tmp/xerces-2_11_0/xercesImpl.jar" tofile="lib/xercesImpl.jar"/>
<copy file="tmp/xerces-2_11_0/xml-apis.jar" tofile="lib/xml-apis.jar"/>
<get dest="lib/tagsoup-1.2.jar" src="http://home.ccil.org/~cowan/XML/tagsoup/tagsoup-1.2.jar"/>
<copy file="tmp/htmlparser-1.4/htmlparser-1.4.jar" tofile="lib/htmlparser-1.4.jar"/>
</target>
<target name="build" description="Builds the validator" depends="prepare">
<mkdir dir="./build"/>
<javac classpathref="build.class.path" destdir="./build" encoding="UTF-8"
debug="yes" includes="org/w3c/**" srcdir="." source="1.7" target="1.7"/>
<copy todir="./build">
<fileset dir="./">
<include name="org/**"/>
<exclude name="**/*.java"/>
<exclude name="**/*.class"/>
</fileset>
</copy>
</target>
<target name="jigsaw" description="Builds the validator for Jigsaw" depends="prepare">
<mkdir dir="./build"/>
<javac classpathref="build.class.path" destdir="." encoding="UTF-8"
debug="yes" source="1.7" target="1.7">
<src path="./org/w3c"/>
</javac>
</target>
<target name="javadoc" description="Generates API docs">
<mkdir dir="./javadoc"/>
<javadoc
packagenames="org.w3c.*"
sourcepath="./"
destdir="./javadoc"
author="true"
version="true"
windowtitle="W3C CSS Validator API"/>
</target>
<target name="jar" depends="build" description="Creates the lib archive">
<delete file="${jar.file}"/>
<jar jarfile="${jar.file}" basedir="build" excludes="org/**/*.java">
<include name="org/**"/>
<manifest>
<attribute name="Main-Class" value="org.w3c.css.css.CssValidator"/>
<attribute name="Class-path" value=". lib/commons-collections-3.2.1.jar lib/commons-digester-1.8.1.jar lib/commons-lang-2.6.jar lib/jigsaw.jar lib/tagsoup-1.2.jar lib/velocity-1.7.jar lib/velocity-tools-generic-2.0.jar lib/xercesImpl.jar lib/xml-apis.jar lib/htmlparser-1.4.jar"/>
</manifest>
</jar>
</target>
<target name="war" depends="build" description="Creates the webapp module">
<delete file="${war.file}"/>
<war warfile="${war.file}" webxml="web.xml" basedir="." includes="*html*,favicon.ico,images/**,style/**,scripts/**,tabtastic/**" excludes="html,css-validator.*">
<classes dir="build"/>
<lib dir="lib">
<exclude name="*servlet*.jar"/>
</lib>
</war>
</target>
<target name="clean" description="Cleans up generated files">
<delete file="${jar.file}"/>
<delete file="${war.file}"/>
<delete dir="./build"/>
<delete dir="./javadoc"/>
<delete dir="./tmp"/>
</target>
</project>
Webmaster