Repository navigation
Expand file tree
/
Copy pathbuild.xml
More file actions
232 lines (204 loc) · 8.48 KB
/
Copy pathbuild.xml
File metadata and controls
232 lines (204 loc) · 8.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
<?xml version="1.0"?>
<project name="Carolina Rollergirls Scoreboard" default="compile">
<property name="ant.build.javac.source" value="1.5"/>
<property name="ant.build.javac.target" value="1.5"/>
<property name="src.dir" value="src"/>
<property name="dest.dir" value="bin"/>
<property name="jdoc.dir" value="jdoc"/>
<property name="version.src.dir" value="${src.dir}/com/carolinarollergirls/scoreboard/version"/>
<property name="version.dest.dir" value="${dest.dir}/com/carolinarollergirls/scoreboard/version"/>
<property name="version.release.file" value="release.properties"/>
<property name="version.build.file" value="build.properties"/>
<property file="${version.src.dir}/release.properties" prefix="version"/>
<property name="compile.deprecation" value="true"/>
<property name="compile.debug" value="true"/>
<property name="compile.nowarn" value="true"/>
<property name="compile.verbose" value="false"/>
<property name="jar.dir" value="lib"/>
<property name="jar.file" value="crg-scoreboard.jar"/>
<property name="manifest.file" value="crg-scoreboard.mf"/>
<available property="manifest.exists" file="${jar.dir}/${manifest.file}" />
<property name="launch4j.dir" value="launch4j"/>
<property name="launch4j.outfile" value="scoreboard.exe"/>
<property name="media.dir" value="media-src" />
<property name="release.dir" value="release" />
<property name="android.dir" value="android" />
<property name="clean.verbose" value="false"/>
<property name="clean.quiet" value="false"/>
<property name="one-jar.dist.dir" value="one-jar"/>
<import file="${one-jar.dist.dir}/one-jar-ant-task.xml" optional="true" />
<!-- Show help (the different options for this build.xml) -->
<target name="help">
<echo message="Buildfile for Carolina Rollergirls Scoreboard"/>
<echo message=""/>
<echo message="Targets:"/>
<echo message=""/>
<echo message=" all clean compile"/>
<echo message=" clean Clean everything"/>
<echo message=" compile Compile all classes and create jarfile (default)"/>
<echo message=" launcher Create Windows scoreboard.exe"/>
<echo message=" manifest (Re)create the manifest file"/>
<echo message=" media Create media zip files"/>
<echo message=" help Show this help"/>
<echo message=" jdoc Create JavaDOC"/>
<echo message=" release Create release zip file"/>
<echo message=" zip Create non-release zip file"/>
<echo message=""/>
</target>
<!-- Add build timestamp to version -->
<target name="-buildversion" unless="isRelease" >
<tstamp>
<format property="version.build" pattern="yyyyMMddHHmmss" />
</tstamp>
<mkdir dir="${version.dest.dir}"/>
<propertyfile file="${version.dest.dir}/${version.build.file}">
<entry key="build" value="${version.build}"/>
</propertyfile>
</target>
<!-- Determine version -->
<target name="-version" depends="-buildversion" >
<mkdir dir="${version.dest.dir}"/>
<copy file="${version.src.dir}/${version.release.file}" todir="${version.dest.dir}"/>
<condition property="version" value="${version.release}-${version.build}" else="${version.release}">
<isset property="version.build"/>
</condition>
</target>
<!-- Compile source files -->
<target name="compile" depends="-version,-manifest" >
<mkdir dir="${dest.dir}"/>
<mkdir dir="html/images/teamlogo" />
<mkdir dir="html/images/sponsor_banner" />
<javac srcdir="."
destdir="${dest.dir}"
deprecation="${compile.deprecation}"
debug="${compile.debug}"
verbose="${compile.verbose}"
nowarn="${compile.nowarn}"
includeAntRuntime="false"
includes="${src.dir}/com/carolinarollergirls/scoreboard/** json/*" >
<compilerarg value="-Xlint:unchecked"/>
<classpath>
<fileset dir="${jar.dir}" includes="deps/*.jar" />
</classpath>
</javac>
<mkdir dir="${jar.dir}"/>
<one-jar destfile="${jar.dir}/${jar.file}" manifest="${jar.dir}/one-jar.mf" mainmanifest="${jar.dir}/${manifest.file}">
<main>
<!-- Construct main.jar from classes and source code -->
<fileset dir="${dest.dir}" excludes="**/*.java" />
</main>
<lib>
<fileset dir="${jar.dir}" includes="deps/*.jar" />
</lib>
</one-jar>
</target>
<!-- Create Manifest only if file doesn't exist -->
<target name="-manifest" unless="manifest.exists" >
<echo message="${jar.dir}/${manifest.file} does not exist, creating..." />
<antcall target="manifest" />
</target>
<!-- Create Manifest -->
<target name="manifest">
<manifest file="${jar.dir}/${manifest.file}" >
<attribute name="Main-Class" value="com.carolinarollergirls.scoreboard.Main" />
<attribute name="Class-Path" value="." />
</manifest>
<echo message="Created ${jar.dir}/${manifest.file}" />
</target>
<!-- Create JavaDOC -->
<target name="jdoc">
<mkdir dir="${jdoc.dir}"/>
<javadoc
packagenames="com.carolinarollergirls.scoreboard.*"
sourcepath="${src.dir}"
destdir="${jdoc.dir}"
/>
<echo message="Java Documentation placed in ${jdoc.dir}"/>
</target>
<!-- Do everything -->
<target name="all" depends="clean,compile"/>
<!-- Create Windows scoreboard.exe -->
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" />
<target name="launcher" >
<launch4j>
<config outfile="${launch4j.outfile}" dontWrapJar="true" jarPath="${jar.dir}/${jar.file}" stayAlive="true" headerType="gui" chdir="." errTitle="CRG ScoreBoard" cmdLine="--gui" >
<jre minVersion="1.5.0" jdkPreference="preferJre" maxHeapSize="512" />
<messages jreVersionErr="You do not have Java installed. Press OK to open the Java download website. Restart the scoreboard after installing Java.\nError: The scoreboard requires Java JRE minimum version" />
</config>
</launch4j>
</target>
<!-- Create media zip files -->
<target name="media" >
<ant dir="${media.dir}" inheritAll="false" target="all" />
<copy overwrite="true" todir="${release.dir}" >
<fileset dir="${media.dir}/release" includes="*.zip" />
<fileset dir="${media.dir}/release" includes="*-latest-version" />
</copy>
<ant dir="${media.dir}" inheritAll="false" target="clean" />
</target>
<!-- Create android apk -->
<target name="android" depends="-version">
<mkdir dir="${release.dir}" />
<mkdir dir="${android.dir}/assets" />
<zip destfile="${android.dir}/assets/BaseFiles.zip" >
<zipfileset dir="." filemode="755" >
<include name="html/**" />
<exclude name="html/stream/*" />
<exclude name="html/images/teamlogo/*" />
<exclude name="html/images/sponsor_banner/*" />
<include name="html/images/teamlogo" />
<include name="html/images/sponsor_banner" />
<include name="config/crg.scoreboard.properties" />
<include name="config/default/**" />
</zipfileset>
</zip>
<exec executable="gradle" dir="${android.dir}">
<arg value="assembleDebug"/>
</exec>
<property name="apk.prefix" value="crg-scoreboard_${version}"/>
<copy overwrite="true"
file="${android.dir}/build/outputs/apk/crg-scoreboard-debug.apk"
tofile="${release.dir}/${apk.prefix}.apk"/>
</target>
<!-- Create zip file -->
<target name="zip" depends="clean,-version,compile" >
<mkdir dir="${release.dir}" />
<property name="zip.prefix" value="crg-scoreboard_${version}"/>
<zip destfile="${release.dir}/${zip.prefix}.zip" >
<zipfileset dir="." prefix="${zip.prefix}" filemode="755" >
<include name="README" />
<include name="COPYING" />
<include name="COPYING-GPL" />
<include name="COPYING-AL" />
<include name="LICENSES" />
<include name="scoreboard-Windows.exe" />
<include name="scoreboard-Mac.app/**" />
<include name="scoreboard-Linux.sh" />
<include name="start.html" />
<include name="html/**" />
<exclude name="html/stream/*" />
<exclude name="html/images/teamlogo/*" />
<exclude name="html/images/sponsor_banner/*" />
<include name="html/images/teamlogo" />
<include name="html/images/sponsor_banner" />
<include name="lib/crg-scoreboard.jar" />
<include name="config/crg.scoreboard.properties" />
<include name="config/default/**" />
</zipfileset>
</zip>
</target>
<!-- Create official release zip file -->
<target name="release" >
<antcall target="zip">
<param name="isRelease" value="true"/>
</antcall>
</target>
<!-- Clean all classfiles -->
<target name="clean">
<delete verbose="${clean.verbose}" quiet="${clean.quiet}" includeemptydirs="true" failonerror="false">
<fileset dir="${dest.dir}"/>
<fileset dir="${jar.dir}" includes="${jar.file}"/>
<fileset dir="${jdoc.dir}"/>
</delete>
</target>
</project>