Files
luaj/build.xml
2010-07-20 16:33:08 +00:00

174 lines
5.5 KiB
XML

<project default="all">
<property file="version.properties"/>
<property environment="env"/>
<property name="jar.name.jme" value="luaj-jme-${version}.jar"/>
<property name="jar.name.jse" value="luaj-jse-${version}.jar"/>
<import file="wtk.xml"/>
<target name="clean">
<delete dir="build"/>
<delete>
<fileset dir="." includes="luaj-*.jar"/>
</delete>
</target>
<available file="lib/bcel-5.2.jar" property="bcel.lib.exists"/>
<available file="lib/luaj-j2se-1.0.4.jar" property="luaj1.lib.exists"/>
<available file="lib/javacc.jar" property="javacc.lib.exists"/>
<target name="bcel-lib" unless="bcel.lib.exists">
<mkdir dir="lib"/>
<get src="http://archive.apache.org/dist/jakarta/bcel/binaries/bcel-5.2.tar.gz"
dest="lib/bcel-5.2.tar.gz"/>
<gunzip src="lib/bcel-5.2.tar.gz" dest="lib/bcel-5.2.tar"/>
<untar src="lib/bcel-5.2.tar" dest="lib" overwrite="true">
<patternset>
<include name="**/*.jar"/>
</patternset>
<mapper type="flatten"/>
</untar>
</target>
<target name="luaj1-lib" unless="luaj1.lib.exists">
<get src="http://downloads.sourceforge.net/project/luaj/luaj-1.0/1.0.4/luaj-1.0.4.zip"
dest="lib/luaj-1.0.4.zip"/>
<unzip src="lib/luaj-1.0.4.zip" dest="lib" overwrite="true">
<patternset>
<include name="**/*.jar"/>
</patternset>
<mapper type="flatten"/>
</unzip>
</target>
<target name="javacc-lib" unless="javacc.lib.exists">
<get src="https://javacc.dev.java.net/files/documents/17/138912/javacc-5.0.zip"
dest="lib/javacc-5.0.zip"/>
<unzip src="lib/javacc-5.0.zip" dest="lib" overwrite="true">
<patternset>
<include name="**/javacc.jar"/>
</patternset>
<mapper type="flatten"/>
</unzip>
</target>
<target name="parser" depends="javacc-lib">
<java classname="javacc" classpath="lib/javacc.jar">
<arg line="grammar/LuaParser.jj"/>
</java>
</target>
<target name="compile" depends="wtk-or-fail,bcel-lib">
<mkdir dir="build/core/src"/>
<mkdir dir="build/core/classes"/>
<mkdir dir="build/jme/classes"/>
<mkdir dir="build/jse/classes"/>
<copy todir="build/core/src">
<fileset dir="src/core">
<include name="**/Lua.java"/>
</fileset>
<filterchain>
<tokenfilter>
<replacestring from='"Luaj 0.0"' to='"Luaj ${version}"'/>
</tokenfilter>
</filterchain>
</copy>
<javac destdir="build/core/classes" encoding="utf-8" source="1.3" target="1.2" bootclasspathref="wtk-libs"
srcdir="src/core"/>
<javac destdir="build/core/classes" encoding="utf-8" source="1.3" target="1.2" bootclasspathref="wtk-libs"
classpath="build/core/classes"
srcdir="build/core/src"
excludes="**/Lua.java"/>
<javac destdir="build/jme/classes" encoding="utf-8" source="1.3" target="1.2" bootclasspathref="wtk-libs"
classpath="build/core/classes"
srcdir="src/jme"/>
<javac destdir="build/jse/classes" encoding="utf-8" source="1.5" target="1.5"
classpath="build/core/classes;lib/bcel-5.2.jar"
srcdir="src/jse"
excludes="**/antlr/**,**/lst/**,**/JavaCodeGenerator.java,**/LuaJCompiler.java" />
</target>
<target name="jar-jme" depends="compile">
<jar destfile="${jar.name.jme}">
<fileset dir="build/core/classes"/>
<fileset dir="build/jme/classes"/>
</jar>
</target>
<target name="jar-jse" depends="compile">
<jar destfile="${jar.name.jse}">
<fileset dir="build/core/classes"/>
<fileset dir="build/jme/classes"/>
<fileset dir="build/jse/classes"/>
<fileset dir="src/jse/">
<include name="META-INF/**"/>
</fileset>
</jar>
</target>
<target name="doc">
<delete dir="docs/api"/>
<mkdir dir="docs/api"/>
<javadoc packagenames="org.luaj.vm2.*"
sourcepath="src/core"
defaultexcludes="yes"
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Luaj API">
<doctitle><![CDATA[<h1>Luaj API</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2007-2008 Luaj.org. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Core VM" packages="org.luaj.vm.*"/>
<link offline="true" href="http://sourceforge.net/projects/luaj/" packagelistLoc="C:\tmp"/>
<link href="http://sourceforge.net/projects/luaj/"/>
</javadoc>
</target>
<target name="dist" depends="all">
<delete dir="build/luaj-${version}"/>
<mkdir dir="build/luaj-${version}/src"/>
<mkdir dir="build/luaj-${version}/lib"/>
<copy todir="build/luaj-${version}/src">
<fileset dir="src">
<exclude name="src/test/**"/>
<exclude name="**/antlr/**"/>
<exclude name="**/lst/**"/>
<exclude name="**/JavaCodeGenerator.java"/>
<exclude name="**/LuaJCompiler.java"/>
</fileset>
</copy>
<copy todir="build/luaj-${version}/test">
<fileset dir="test"/>
</copy>
<copy todir="build/luaj-${version}/examples">
<fileset dir="examples"/>
</copy>
<copy todir="build/luaj-${version}/lib">
<fileset dir=".">
<include name="*-${version}.jar"/>
</fileset>
</copy>
<copy todir="build/luaj-${version}">
<fileset dir=".">
<include name="build.xml"/>
<include name="build-coverage.xml"/>
<include name="version.properties"/>
<include name="wtk.xml"/>
<include name="README.html"/>
<include name="names.csv"/>
<include name=".classpath"/>
<include name=".project"/>
</fileset>
</copy>
<zip destfile="luaj-${version}.zip"
basedir="build" includes="luaj-${version}/**"/>
</target>
<target name="all" depends="clean,jar-jme,jar-jse"/>
</project>