Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
epoxy
GitHub Repository: epoxy/proj11
Path: blob/master/SLICK_HOME/scripts/game-build-example.xml
1455 views
1
<!--
2
The Slick2D Build file. It has the following capabilities:
3
4
dist - Build the complete distribution
5
build-key-store - Build a valid key store for distributing your game
6
sign-a-jar - Sign a JAR file for distribution using a key store generated here
7
8
javadoc - generate the javadoc for Slick
9
-->
10
<project name="kitipong" default="build-game" basedir=".">
11
12
<!--
13
Initialise the build script
14
-->
15
<target name="init">
16
<property name="username" value="kevin"/>
17
<property name="host" value="bob.newdawnsoftware.com"/>
18
<property name="dir" value="/home/kevin/public_html/slick/demos"/>
19
<property name="webstartURL" value="http://slick.cokeandcode.com/demos"/>
20
<property name="homepage" value="http://slick.cokeandcode.com"/>
21
<property name="vendor" value="Slick 2D"/>
22
23
<property name="build.dir" value="target"/>
24
25
<property name="game.name" value="kitipong"/>
26
<property name="game.title" value="Kitipong"/>
27
<property name="game.mainclass" value="puzzle.Puzzle"/>
28
29
<property name="slick.install" value="../Slick"/>
30
31
<delete dir="${build.dir}"/>
32
<mkdir dir="${build.dir}/classes"/>
33
<delete dir="webstart"/>
34
<mkdir dir="webstart"/>
35
</target>
36
37
<!--
38
Build the java source to the Slick Demo RPG
39
-->
40
<target name="build-game" depends="init">
41
<delete dir="lib/${game.name}.jar"/>
42
<javac debug="true" srcdir="src" destdir="${build.dir}/classes" target="1.4" source="1.4">
43
<classpath>
44
<pathelement path="${slick.install}/lib/slick.jar"/>
45
<pathelement path="${slick.install}/lib/lwjgl.jar"/>
46
<pathelement path="${slick.install}/lib/ibxm.jar"/>
47
<pathelement path="${slick.install}/lib/jogg-0.0.7.jar"/>
48
<pathelement path="${slick.install}/lib/jorbis-0.0.15.jar"/>
49
</classpath>
50
</javac>
51
<jar destfile="lib/kitipong.jar"
52
basedir="${build.dir}/classes"/>
53
<jar update="true" destfile="lib/kitipong.jar"
54
basedir="." includes="res/**"/>
55
</target>
56
57
<target name="build-game-webstart" depends="build-game">
58
<copy file="lib/${game.name}.jar" toDir="webstart"/>
59
<createdemojnlp name="${game.name}" title="${game.title}" mainclass="${game.mainclass}"
60
template="slickwithextension.jnlp" projectjar="${game.name}.jar"/>
61
</target>
62
63
<!--
64
Upload the Game demo to the Slick website
65
-->
66
<target name="upload-game-webstart" depends="build-game-webstart">
67
<input message="Upload password:" addproperty="password"/>
68
69
<scp todir="${username}:${password}@${host}:${dir}"
70
file="webstart/${game.name}.jar"
71
trust="true"
72
port="122"
73
verbose="true"/>
74
<scp todir="${username}:${password}@${host}:${dir}"
75
trust="true"
76
port="122"
77
verbose="true">
78
<fileset dir="webstart">
79
<include name="${game.name}.jnlp"/>
80
</fileset>
81
</scp>
82
</target>
83
84
<!--
85
A macro to copy and preprocess the JNLP template for all webstart demos
86
-->
87
<macrodef name="createdemojnlp">
88
<attribute name="name" default="NOT SET"/>
89
<attribute name="title" default="NOT SET"/>
90
<attribute name="mainclass" default="NOT SET"/>
91
<attribute name="template" default="slickdemo.jnlp"/>
92
<attribute name="datajar" default="testdata.jar"/>
93
<attribute name="projectjar" default=""/>
94
<sequential>
95
<delete file="webstart/@{name}.jnlp"/>
96
<copy file="${slick.install}/scripts/@{template}" toFile="webstart/@{name}.jnlp">
97
<filterchain>
98
<replacetokens>
99
<token key="title" value="@{title}"/>
100
<token key="mainclass" value="@{mainclass}"/>
101
<token key="jnlpname" value="@{name}.jnlp"/>
102
<token key="homepage" value="${homepage}"/>
103
<token key="datajar" value="@{datajar}"/>
104
<token key="projectjar" value="@{projectjar}"/>
105
<token key="vendor" value="${vendor}"/>
106
<token key="codebase" value="${webstartURL}"/>
107
</replacetokens>
108
</filterchain>
109
</copy>
110
111
<echo file="webstart/demos.txt" append="true">
112
&lt;a href="${webstartURL}/@{name}.jnlp"&gt; @{title} &lt;/a&gt;
113
&lt;br/&gt;
114
</echo>
115
</sequential>
116
</macrodef>
117
118
</project>
119