aboutsummaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorUpstream <upstream-import@none>1970-01-12 13:46:40 +0000
committerUpstream <upstream-import@none>1970-01-12 13:46:40 +0000
commit70e83658cac1d0d766e93853e3698921af269a37 (patch)
treef2dbc24614858517bc61f8811143d878002f800d /build.xml
downloadtagsoup-70e83658cac1d0d766e93853e3698921af269a37.tar.gz
external/tagsoup 1.2upstream/1.2nougat-mr1-arc
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml160
1 files changed, 160 insertions, 0 deletions
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..1aa21d4
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,160 @@
+<!--
+// This file is part of TagSoup and is Copyright 2002-2008 by John Cowan.
+//
+// TagSoup is licensed under the Apache License,
+// Version 2.0. You may obtain a copy of this license at
+// http://www.apache.org/licenses/LICENSE-2.0 . You may also have
+// additional legal rights not granted by this license.
+//
+// TagSoup is distributed in the hope that it will be useful, but
+// unless required by applicable law or agreed to in writing, TagSoup
+// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+// OF ANY KIND, either express or implied; not even the implied warranty
+// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+-->
+
+<project name="tagsoup" default="dist">
+
+ <!-- generic properties -->
+ <property file="etc/build/build.properties"/>
+ <!-- additional tasks -->
+ <taskdef file="etc/build/taskdefs.txt" classpath="bin"/>
+
+ <available property="transformer.factory"
+ classname="com.icl.saxon.TransformerFactoryImpl"
+ value="com.icl.saxon.TransformerFactoryImpl"/>
+ <available property="transformer.factory"
+ classname="net.sf.saxon.TransformerFactoryImpl"
+ value="net.sf.saxon.TransformerFactoryImpl"/>
+ <available property="transformer.factory"
+ classname="org.apache.xalan.processor.TransformerFactoryImpl"
+ value="org.apache.xalan.processor.TransformerFactoryImpl"/>
+ <available property="transformer.factory"
+ classname="com.sun.org.apache.xalan.processor.TransformerFactoryImpl"
+ value="com.sun.org.apache.xalan.processor.TransformerFactoryImpl"/>
+
+ <!-- some folder settings -->
+ <property name="bin" value="bin"/>
+ <property name="src" value="src"/>
+ <property name="build" value="build"/>
+ <property name="dist" value="dist"/>
+ <property name="docs" value="docs"/>
+ <property name="tmp" value="tmp"/>
+
+
+ <!-- initialize project -->
+ <target name="init" description="Init project.">
+ <tstamp/>
+ </target>
+
+
+ <!-- ensure needed folders are available -->
+ <target name="prepare" description="Set up folders.">
+ <mkdir dir="${build}"/>
+ <mkdir dir="${tmp}"/>
+ </target>
+
+ <!-- Build a distribution jar file -->
+ <target name="dist" depends="init,compile"
+ description="Build a binary distribution file.">
+ <antcall target="jar-release">
+ <param name="buildDir" value="build"/>
+ <param name="version" value="${tagsoup.version}"/>
+ </antcall>
+ </target>
+
+
+ <target name="jar-release" depends="init"
+ description="Build a release jar file.">
+ <mkdir dir="${dist}/lib" />
+ <jar jarfile="${dist}/lib/tagsoup-${tagsoup.version}.jar" basedir="${buildDir}">
+ <manifest>
+ <attribute name="Version" value="${tagsoup.version}"/>
+ <attribute name="Main-Class" value="org.ccil.cowan.tagsoup.CommandLine"/>
+ </manifest>
+ </jar>
+ </target>
+
+
+ <!-- compile java sources -->
+ <target name="compile" depends="init,prepare,build-parser"
+ description="Compile java classes.">
+ <javac source="1.4" target="1.4" srcdir="${src}/java" destdir="${build}" deprecation="on" verbose="off" debug="on">
+ <src path="${src}/java"/>
+ <src path="${tmp}/src"/>
+ </javac>
+ </target>
+
+<!-- prepare generation of the parser classes based on the definition files -->
+ <target depends="init,prepare" description="Prepare generation of parser classes." name="prepare-parser">
+
+ <echo>
+ Using ${transformer.factory} as the TransformerFactory
+ </echo>
+
+ <xslt in="${src}/definitions/html.tssl" out="${tmp}/HTMLModels.i"
+style="tssl/tssl-models.xslt">
+ <factory name="${transformer.factory}"/>
+ </xslt>
+ <xslt in="${src}/definitions/html.tssl" out="${tmp}/HTMLSchema.i"
+style="tssl/tssl.xslt">
+ <factory name="${transformer.factory}"/>
+ </xslt>
+ <xslt in="${src}/definitions/html.stml" out="${tmp}/HTMLScanner.i"
+style="stml/stml.xslt">
+ <factory name="${transformer.factory}"/>
+ </xslt>
+ </target>
+
+
+
+ <!-- patch the parser class files -->
+ <target name="build-parser" depends="prepare-parser"
+ description="Generate parser class files.">
+ <property name="parser.pkg-path" value="org/ccil/cowan/tagsoup"/>
+ <mkdir dir="${tmp}/src/${parser.pkg-path}"/>
+ <antcall target="patch-file">
+ <param name="file-pref" value="HTMLModels"/>
+ <param name="token" value="MODEL_DEFINITIONS"/>
+ </antcall>
+ <antcall target="patch-file">
+ <param name="file-pref" value="HTMLSchema"/>
+ <param name="token" value="SCHEMA_CALLS"/>
+ </antcall>
+ <antcall target="patch-file">
+ <param name="file-pref" value="HTMLScanner"/>
+ <param name="token" value="STATE_TABLE"/>
+ </antcall>
+ </target>
+
+
+ <!-- patch one parser class file -->
+ <target name="patch-file" depends="" description="Patch a parser class file.">
+ <copy file="${src}/templates/${parser.pkg-path}/${file-pref}.java" toDir="${tmp}/src/${parser.pkg-path}"/>
+ <loadfile property="patch" srcFile="${tmp}/${file-pref}.i"/>
+ <replace file="${tmp}/src/${parser.pkg-path}/${file-pref}.java" token="@@${token}@@" value="${patch}"/>
+ </target>
+
+ <!-- clean up the mess -->
+ <target name="clean" description="Clean up folders.">
+ <delete dir="${build}"/>
+ <delete dir="${tmp}"/>
+ <delete dir="${docs}"/>
+ <delete dir="${dist}"/>
+ </target>
+
+
+ <!-- generate javadoc for the java classes -->
+ <target name="docs-api" depends="init"
+ description="Generate javadoc documentation.">
+ <mkdir dir="${docs}/api"/>
+ <javadoc packagenames="org.*"
+ sourcepath="${src}/java" destdir="${docs}/api"
+ use="true"
+ windowtitle="TagSoup ${tagsoup.version} API">
+ <doctitle><![CDATA[<h1>TagSoup Package Documentation</h1>]]></doctitle>
+ <bottom><![CDATA[<em>Licence</em>: <strong>Academic Free License 3.0</strong> and/or <strong>GPL 2.0</strong>]]></bottom>
+ </javadoc>
+ </target>
+
+</project>