Add sample applet build file.
This commit is contained in:
116
build-applet.xml
Normal file
116
build-applet.xml
Normal file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0"?>
|
||||
<project name="sample" default="main" basedir=".">
|
||||
<property file="version.properties"/>
|
||||
|
||||
<!-- find libs -->
|
||||
<import file="build-libs.xml"/>
|
||||
|
||||
<!-- main java class -->
|
||||
<property name="java.dir" value="examples/jse"/>
|
||||
<property name="java.name" value="SampleApplet"/>
|
||||
|
||||
<!-- main script -->
|
||||
<property name="script.dir" value="examples/lua"/>
|
||||
<property name="script.name" value="swingapplet"/>
|
||||
<property name="image.name" value="logo.gif"/>
|
||||
|
||||
<!-- location of luaj jar -->
|
||||
<property name="libs.dir" value="lib"/>
|
||||
<property name="luaj.jar" value="${libs.dir}/luaj-jse-${version}.jar"/>
|
||||
|
||||
<!-- location of build results -->
|
||||
<property name="build.dir" value="build/applet"/>
|
||||
|
||||
<target name="clean">
|
||||
<delete failonerror="false" dir="${build.dir}"/>
|
||||
</target>
|
||||
|
||||
<target name="dirs">
|
||||
<mkdir dir="build/applet/classes"/>
|
||||
</target>
|
||||
|
||||
<target name="classes" depends="dirs">
|
||||
<copy todir="${build.dir}">
|
||||
<fileset dir="${script.dir}" includes="${script.name}.lua,${image.name}"/>
|
||||
</copy>
|
||||
<javac destdir="${build.dir}/classes" source="1.4" target="1.4"
|
||||
classpath="${luaj.jar}" srcdir="${java.dir}" includes="${java.name}.java"/>
|
||||
</target>
|
||||
|
||||
<target name="manifest" depends="dirs">
|
||||
<manifest file="${build.dir}/MANIFEST.MF">
|
||||
<attribute name="Permissions" value="sandbox"/>
|
||||
<attribute name="Main-class" value="${java.name}"/>
|
||||
</manifest>
|
||||
</target>
|
||||
|
||||
<target name="jar" depends="classes,manifest">
|
||||
<jar destfile="${build.dir}/${script.name}.jar"
|
||||
manifest="${build.dir}/MANIFEST.MF">
|
||||
<fileset dir="${build.dir}" includes="*.lua"/>
|
||||
<fileset dir="${build.dir}/classes"/>
|
||||
<zipfileset
|
||||
src="${luaj.jar}"
|
||||
excludes="**/script/*,**/luajc/**,**/parser/**,**/ast/**,lua*"/>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="obf" depends="jar,proguard-lib">
|
||||
<taskdef resource="proguard/ant/task.properties" classpath="lib/proguard.jar" />
|
||||
<copy file="${build.dir}/${script.name}.jar"
|
||||
tofile="${build.dir}/${script.name}-unobfuscated.jar"/>
|
||||
<proguard>
|
||||
-injars ${build.dir}/${script.name}-unobfuscated.jar
|
||||
-outjars ${build.dir}/${script.name}.jar
|
||||
-libraryjars ${java.home}/lib/rt.jar
|
||||
-overloadaggressively
|
||||
-repackageclasses ''
|
||||
-allowaccessmodification
|
||||
-printmapping ${build.dir}/mapping.txt
|
||||
|
||||
-keep public class * extends java.applet.Applet
|
||||
|
||||
-target 1.4
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
<target name="sign" depends="jar">
|
||||
<signjar jar="${build.dir}/${script.name}.jar"
|
||||
alias="${sign.alias}"
|
||||
storepass="${sign.storepass}"
|
||||
keypass="${sign.keypass}"
|
||||
keystore="${sign.keystore}" />
|
||||
</target>
|
||||
|
||||
<target name="html" depends="dirs">
|
||||
<echoxml file="build/applet/LuajSampleApplet.html">
|
||||
<html>
|
||||
<head><title>Luaj Sample Applet</title></head>
|
||||
<body>
|
||||
<h1>Luaj Sample Applet</h1>
|
||||
Requires browser that supports applets.
|
||||
${script.name}
|
||||
<applet archive='${script.name}.jar'
|
||||
code='${java.name}.class'
|
||||
width='640'
|
||||
height='480' >
|
||||
<param name='luaj.script' value='${script.name}.lua'/>
|
||||
<param name="java_version" value="1.4+"/>
|
||||
</applet>
|
||||
</body>
|
||||
</html>
|
||||
</echoxml>
|
||||
</target>
|
||||
|
||||
<target name="run" depends="jar,html">
|
||||
<exec executable="open" spawn="true">
|
||||
<arg value="-a Firefox"/>
|
||||
<arg path="build/applet/LuajSampleApplet.html"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="all" depends="clean,sign,html,run"/>
|
||||
|
||||
<target name="main" depends="sign,html"/>
|
||||
|
||||
</project>
|
||||
Reference in New Issue
Block a user