1) Platform.java stays as abstract class with, but default implementation is removed. Stays in org.luaj.vm package
2) org.luaj.platform package is created to hold concrete Platform implementations
3) Platform.newLuaState() method is introduced to instantiate the LuaState. Other constructors are privatized.
4) Following Platform implementations are created:
J2sePlatform
J2meMidp20Cldc11Platform
J2meMidp10Cldc10Platform
5) All clients of luaj-vm are changed to include startup code that looks something like this:
Platform.setInstance( new J2meMidp20Cldc11Platform() );
LuaState state = Platform.getInstance().newLuaState();
113 lines
3.9 KiB
XML
113 lines
3.9 KiB
XML
<project default="all">
|
|
<property name="version" value="0.15"/>
|
|
|
|
<target name="clean">
|
|
<delete dir="build"/>
|
|
</target>
|
|
|
|
<target name="real-clean" depends="clean">
|
|
<delete file="luaj-vm-${version}.jar"/>
|
|
<delete file="luaj-vm-core-${version}.jar"/>
|
|
<delete file="luaj-vm-extras-j2se-${version}.jar"/>
|
|
<delete file="luaj-vm-extras-j2me-${version}.jar"/>
|
|
</target>
|
|
|
|
<target name="compile">
|
|
<mkdir dir="build/all/classes"/>
|
|
<javac destdir="build/all/classes" encoding="utf-8" source="1.3" target="1.1">
|
|
<src path="src/core" />
|
|
<src path="src/j2se" />
|
|
<exclude name="org/luaj/platform/**"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="jar" depends="compile">
|
|
<jar destfile="luaj-vm-${version}.jar" basedir="build/all/classes"/>
|
|
</target>
|
|
|
|
<target name="module-jars" depends="find-wtk,j2me-jars-maybe,j2me-jars-skipped"/>
|
|
|
|
<target name="j2me-jars-maybe" if="wtk.home">
|
|
<antcall target="j2me-jars" inheritrefs="true"/>
|
|
</target>
|
|
|
|
<target name="j2me-jars-skipped" unless="wtk.home">
|
|
<echo>Skipping steps that require J2ME WTK.</echo>
|
|
</target>
|
|
|
|
<target name="j2me-jars" depends="wtk-or-fail,jar-core,jar-j2se-extras,jar-j2me-extra"/>
|
|
|
|
<target name="jar-core" depends="compile-core">
|
|
<jar destfile="luaj-vm-core-${version}.jar" basedir="build/core/classes"/>
|
|
</target>
|
|
|
|
<target name="jar-j2se-extras" depends="compile-j2se-extras">
|
|
<jar destfile="luaj-vm-extras-j2se-${version}.jar" basedir="build/extras-j2se/classes"/>
|
|
</target>
|
|
|
|
<target name="jar-j2me-extra" depends="compile-j2me-extra">
|
|
<jar destfile="luaj-vm-extras-j2me-${version}.jar" basedir="build/extras-j2me/classes"/>
|
|
</target>
|
|
|
|
<target name="compile-core" depends="wtk-or-fail">
|
|
<mkdir dir="build/core/classes"/>
|
|
<javac destdir="build/core/classes" encoding="utf-8" source="1.3" target="1.1"
|
|
bootclasspathref="wtk-libs">
|
|
<src path="src/core" />
|
|
<src path="src/debug" />
|
|
<exclude name="org/luaj/debug/j2se/**"/>
|
|
<exclude name="org/luaj/debug/j2me/**"/>
|
|
<exclude name="org/luaj/debug/net/j2se/**"/>
|
|
<exclude name="org/luaj/debug/net/j2me/**"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="compile-j2se-extras" depends="wtk-or-fail">
|
|
<mkdir dir="build/extras-j2se/classes"/>
|
|
<javac destdir="build/extras-j2se/classes" encoding="utf-8" source="1.3" target="1.1"
|
|
classpath="build/core/classes">
|
|
<src path="src/debug" />
|
|
<src path="src/j2se" />
|
|
<include name="org/luaj/debug/j2se/**"/>
|
|
<include name="org/luaj/debug/net/j2se/**"/>
|
|
<include name="org/luaj/lib/j2se/**"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="compile-j2me-extra" depends="wtk-or-fail">
|
|
<mkdir dir="build/extras-j2me/classes"/>
|
|
<javac destdir="build/extras-j2me/classes" encoding="utf-8" source="1.3" target="1.1"
|
|
bootclasspathref="wtk-libs" classpath="build/core/classes">
|
|
<src path="src/j2me" />
|
|
<src path="src/debug" />
|
|
<exclude name="org/luaj/debug/j2se/**"/>
|
|
<exclude name="org/luaj/debug/net/j2se/**"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="load-env">
|
|
<property environment="env"/>
|
|
</target>
|
|
|
|
<target name="try-default-wtk-path" depends="load-env" unless="env.WTK_HOME">
|
|
<available property="env.WTK_HOME" value="c:\WTK-2.2" file="c:\WTK-2.2\lib\cldcapi11.jar"/>
|
|
<available property="env.WTK_HOME" value="/opt/WTK2.2" file="/opt/WTK2.2/lib/cldcapi11.jar"/>
|
|
</target>
|
|
|
|
<target name="find-wtk" depends="try-default-wtk-path" unless="wtk.home" if="env.WTK_HOME">
|
|
<property name="wtk.home" value="${env.WTK_HOME}"/>
|
|
</target>
|
|
|
|
<target name="wtk-or-fail" depends="find-wtk">
|
|
<fail unless="wtk.home" message="Sun Wireless Toolkit required to build component jars."/>
|
|
<echo>Using WTK found in ${wtk.home}</echo>
|
|
<path id="wtk-libs">
|
|
<pathelement path="${wtk.home}/lib/cldcapi11.jar"/>
|
|
<pathelement path="${wtk.home}/lib/midpapi20.jar"/>
|
|
<pathelement path="${wtk.home}/lib/mmapi.jar"/>
|
|
</path>
|
|
</target>
|
|
|
|
<target name="all" depends="clean,jar,module-jars"/>
|
|
</project>
|