source: trunk/build.xml@ 1535

Last change on this file since 1535 was 1535, checked in by davidb, 4 years ago

Adding in UTF-8 encoding to javac targets to help with compilation, now that \uXXXX Java string initialization is being used

File size: 8.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<project basedir="." default="build" name="Expeditee">
3
4 <tstamp>
5 <format property="TODAY_EXP" pattern="yy.MM.dd"/>
6 </tstamp>
7
8 <property environment="env"/>
9
10 <property name="dist.dir.exp" location="releases" />
11 <!--
12 <property name="dist.filename.exp" value="Exp.${TODAY_EXP}.jar" />
13 -->
14 <property name="dist.filename.exp" value="Expeditee.jar" />
15 <property name="build.dir.exp" location="bin" />
16 <property name="manifest.path.exp" value="makeFiles/Manifest.txt" />
17 <property name="lib.dir.exp" location="releases/jars" />
18 <property name="inst.dir.exp" location="inst" />
19
20 <!--
21 If changing this value, make sure you run `ant clean`
22 -->
23 <property name="javac.source" value="1.8" />
24 <property name="javac.target" value="${javac.source}" />
25
26 <property name="expeditee.server.port" value="3000"/>
27
28 <union id="portable.includes.exp">
29 <zipfileset excludes="META-INF/*.SF" src="releases/jars/junit.jar"/>
30 <zipfileset excludes="META-INF/*.SF" src="releases/jars/activation.jar"/>
31 <zipfileset excludes="META-INF/*.SF" src="releases/jars/cobra.jar"/>
32 <zipfileset excludes="META-INF/*.SF" src="releases/jars/iText-2.1.3.jar"/>
33 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jcommon-1.0.13.jar"/>
34 <zipfileset excludes="META-INF/*.SF" src="releases/jars/JEP.jar"/>
35 <zipfileset excludes="META-INF/*.SF" src="releases/jars/JFreeCharts.jar"/>
36 <zipfileset excludes="META-INF/*.SF" src="releases/jars/js.jar"/>
37 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jython-standalone-2.7.0.jar"/>
38 <zipfileset excludes="META-INF/*.SF" src="releases/jars/lobo.jar"/>
39 <zipfileset excludes="META-INF/*.SF" src="releases/jars/lobo-pub.jar"/>
40 <zipfileset excludes="META-INF/*.SF" src="releases/jars/mail.jar"/>
41 <zipfileset excludes="META-INF/*.SF" src="releases/jars/xercesImpl.jar"/>
42 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jazzy-core.jar"/>
43 <zipfileset excludes="META-INF/*.SF" src="releases/jars/PDFRenderer-0.9.1.jar"/>
44 <zipfileset excludes="META-INF/*.SF" src="releases/jars/json-simple-1.1.1.jar"/>
45 <zipfileset excludes="META-INF/*.SF" src="releases/jars/commons-cli-1.2.jar"/>
46 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jgraphx.jar"/>
47 <zipfileset excludes="META-INF/*.SF" src="releases/jars/svgSalamander.jar"/>
48 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jl1.0.1.jar"/>
49 <zipfileset excludes="META-INF/*.SF" src="releases/jars/tritonus_share.jar"/>
50 <zipfileset excludes="META-INF/*.SF" src="releases/jars/mp3spi1.9.5.jar"/>
51 </union>
52
53 <path id="classpath.exp">
54 <fileset dir="${lib.dir.exp}">
55 <include name="*.jar" />
56 <include name="ext/*.jar" />
57 </fileset>
58 </path>
59
60 <path id="classpath.jfx">
61 <!-- Check this points to an existing file, if you can't find the jar just compile with build-nojfx -->
62 <pathelement location="${java.home}/lib/jfxrt.jar"/>
63 </path>
64
65 <target name="clean">
66 <!-- delete only the class files built by expeditee -->
67 <delete dir="${build.dir.exp}/org"/>
68 <delete dir="${inst.dir.exp}" />
69 </target>
70 <target depends="clean" name="cleanall"/>
71
72 <target name="init">
73 <echo message="${ant.project.name}: ${ant.file}"/>
74 <mkdir dir="${build.dir.exp}"/>
75 <copy includeemptydirs="false" todir="${build.dir.exp}">
76 <fileset dir="src">
77 <exclude name="**/*.java"/>
78 </fileset>
79 </copy>
80 <copy includeemptydirs="false" todir="${build.dir.exp}">
81 <fileset dir="tests">
82 <exclude name="**/*.java"/>
83 </fileset>
84 </copy>
85 </target>
86
87 <target depends="init" name="build">
88 <javac encoding="UTF-8"
89 source="${javac.source}" target="${javac.target}" debug="true"
90 destdir="${build.dir.exp}" includeantruntime="false">
91
92 <src path="src"/>
93 <src path="tests"/>
94
95 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
96
97 <!-- After refactoring for JavaFX, the following files no longer compile -->
98 <!-- Check with Corey, and if no longer needed, they should be removed -->
99 <exclude name="org/expeditee/gui/FrameKeyboardActions.java" />
100 <exclude name="org/expeditee/gui/FrameMouseActions.java" />
101 <exclude name="org/apollo/AudioFrameKeyboardActions.java" />
102 <exclude name="org/apollo/AudioFrameMouseActions.java" />
103 <exclude name="org/expeditee/importer/FrameDNDTransferHandler.java" />
104 <exclude name="org/apollo/util/PopupReaper.java" />
105
106 <!-- After refactoring for JavaFX, the following test files no longer compile -->
107 <exclude name="org/expeditee/gui/FrameKeyboardsActionsTest.java" />
108 <exclude name="org/expeditee/gui/FrameMouseActionsTest.java" />
109 <exclude name="org/expeditee/gui/FrameTest.java" />
110 <exclude name="org/expeditee/gui/DisplayIOTest.java" />
111 <exclude name="org/expeditee/gui/FreeItemsTest.java" />
112 <exclude name="org/expeditee/io/ConversionTest.java" />
113 <exclude name="org/expeditee/items/LineTest.java" />
114 <exclude name="org/expeditee/items/widgets/InteractiveWidgetTest.java" />
115
116 <classpath>
117 <path refid="classpath.exp"/>
118
119 <!-- jfxrt.jar path -->
120 <path refid="classpath.jfx"/>
121 </classpath>
122 </javac>
123 </target>
124
125 <target depends="init" name="build-nojfx">
126 <javac encoding="UTF-8"
127 source="${javac.source}" target="${javac.target}" debug="false"
128 destdir="${build.dir.exp}" includeantruntime="false">
129
130 <src path="tests"/>
131 <src path="src"/>
132 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
133
134 <!-- Files that rely on JavaFX. Use build to build with them included -->
135 <exclude name="org/expeditee/items/widgets/JfxBrowser.java"/>
136 <exclude name="org/expeditee/io/WebParser.java"/>
137 <exclude name="org/expeditee/items/widgets/JfxMedia.java"/>
138 <exclude name="org/expeditee/actions/JfxBrowserActions.java"/>
139
140 <classpath refid="classpath.exp"/>
141 </javac>
142 </target>
143
144
145
146 <target depends="build" name="jar-cwd"> <!-- version to run if current working directory (cwd) same as jar -->
147 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" manifest="${manifest.path.exp}">
148 <manifest>
149 <attribute name="Main-Class" value="org.apollo.ApolloSystem"/>
150 <attribute name="Class-Path" value="."/>
151 </manifest>
152 <fileset dir="${build.dir.exp}">
153 <exclude name="src/**"/>
154 </fileset>
155 </jar>
156 </target>
157 <target depends="build" name="jar"> <!-- self-contained, portable jar -->
158 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" filesetmanifest="mergewithoutmain">
159 <manifest>
160 <attribute name="Main-Class" value="org.apollo.ApolloSystem"/>
161 <attribute name="Class-Path" value="."/>
162 </manifest>
163 <fileset dir="${build.dir.exp}">
164 <exclude name="src/**"/>
165 </fileset>
166 <resources refid="portable.includes.exp" />
167 </jar>
168 </target>
169 <target depends="jar" name="inst">
170 <mkdir dir="${inst.dir.exp}" />
171 <mkdir dir="${inst.dir.exp}/jars" />
172 <copy file="${dist.dir.exp}/${dist.filename.exp}" tofile="${inst.dir.exp}/${dist.filename.exp}" />
173 <copy todir="${inst.dir.exp}/jars">
174 <path refid="classpath.exp" />
175 </copy>
176 </target>
177
178 <target name="run">
179 <java classname="org.apollo.ApolloSystem" failonerror="true" fork="yes">
180 <classpath>
181 <path refid="classpath.exp"/>
182
183 <!-- jfxrt.jar path -->
184 <path refid="classpath.jfx"/>
185
186 <pathelement location="${build.dir.exp}"/>
187 </classpath>
188 </java>
189 </target>
190
191 <target name="run-fresh">
192 <java classname="org.apollo.ApolloSystem" failonerror="true" fork="yes">
193 <classpath refid="classpath.exp"/>
194 <classpath>
195 <pathelement location="${build.dir.exp}"/>
196 </classpath>
197 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-fresh"/>
198 </java>
199 </target>
200
201 <target name="run-fresh-login">
202 <java classname="org.apollo.ApolloSystem" failonerror="true" fork="yes">
203 <classpath refid="classpath.exp"/>
204 <classpath>
205 <pathelement location="${build.dir.exp}"/>
206 </classpath>
207 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-fresh"/>
208 <jvmarg value="-Dauth=true"/>
209 </java>
210 </target>
211
212
213
214
215 <target name="run-server">
216 <echo>Launching Command-line Expeditee Server on port ${expeditee.server.port}</echo>
217 <java classname="org.expeditee.network.FrameShare" failonerror="true" fork="yes">
218 <classpath refid="classpath.exp"/>
219 <classpath>
220 <pathelement location="${build.dir.exp}"/>
221 </classpath>
222 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-home"/>
223 <arg value="${expeditee.server.port}"/>
224 </java>
225 </target>
226</project>
Note: See TracBrowser for help on using the repository browser.