source: trunk/build.xml@ 1014

Last change on this file since 1014 was 1014, checked in by davidb, 8 years ago

JAR files to support MP3 with drag and drop

File size: 6.9 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/lobo.jar"/>
38 <zipfileset excludes="META-INF/*.SF" src="releases/jars/lobo-pub.jar"/>
39 <zipfileset excludes="META-INF/*.SF" src="releases/jars/mail.jar"/>
40 <zipfileset excludes="META-INF/*.SF" src="releases/jars/xercesImpl.jar"/>
41 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jazzy-core.jar"/>
42 <zipfileset excludes="META-INF/*.SF" src="releases/jars/PDFRenderer-0.9.1.jar"/>
43 <zipfileset excludes="META-INF/*.SF" src="releases/jars/json-simple-1.1.1.jar"/>
44 <zipfileset excludes="META-INF/*.SF" src="releases/jars/commons-cli-1.2.jar"/>
45 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jgraphx.jar"/>
46 <zipfileset excludes="META-INF/*.SF" src="releases/jars/svgSalamander.jar"/>
47 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jl1.0.1.jar"/>
48 <zipfileset excludes="META-INF/*.SF" src="releases/jars/tritonus_share.jar"/>
49 <zipfileset excludes="META-INF/*.SF" src="releases/jars/mp3spi1.9.5.jar"/>
50 </union>
51
52 <path id="classpath.exp">
53 <fileset dir="${lib.dir.exp}">
54 <include name="*.jar" />
55 <include name="ext/*.jar" />
56 </fileset>
57 </path>
58
59 <path id="classpath.jfx">
60 <!-- Check this points to an existing file, if you can't find the jar just compile with build-nojfx -->
61 <pathelement location="${java.home}/lib/jfxrt.jar"/>
62 </path>
63
64 <target name="clean">
65 <!-- delete only the class files built by expeditee -->
66 <delete dir="${build.dir.exp}/org"/>
67 <delete dir="${inst.dir.exp}" />
68 </target>
69 <target depends="clean" name="cleanall"/>
70
71 <target name="init">
72 <echo message="${ant.project.name}: ${ant.file}"/>
73 <mkdir dir="${build.dir.exp}"/>
74 <copy includeemptydirs="false" todir="${build.dir.exp}">
75 <fileset dir="src">
76 <exclude name="**/*.java"/>
77 </fileset>
78 </copy>
79 <copy includeemptydirs="false" todir="${build.dir.exp}">
80 <fileset dir="tests">
81 <exclude name="**/*.java"/>
82 </fileset>
83 </copy>
84 </target>
85
86 <target depends="init" name="build">
87 <javac source="${javac.source}" target="${javac.target}" debug="true"
88 destdir="${build.dir.exp}" includeantruntime="false">
89
90 <src path="src"/>
91 <src path="tests"/>
92
93 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
94
95 <classpath>
96 <path refid="classpath.exp"/>
97
98 <!-- jfxrt.jar path -->
99 <path refid="classpath.jfx"/>
100 </classpath>
101 </javac>
102 </target>
103
104 <target depends="init" name="build-nojfx">
105 <javac source="${javac.source}" target="${javac.target}" debug="false"
106 destdir="${build.dir.exp}" includeantruntime="false">
107
108 <src path="tests"/>
109 <src path="src"/>
110 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
111
112 <!-- Files that rely on JavaFX. Use build to build with them included -->
113 <exclude name="org/expeditee/items/widgets/JfxBrowser.java"/>
114 <exclude name="org/expeditee/io/WebParser.java"/>
115 <exclude name="org/expeditee/items/widgets/JfxMedia.java"/>
116 <exclude name="org/expeditee/actions/JfxBrowserActions.java"/>
117
118 <classpath refid="classpath.exp"/>
119 </javac>
120 </target>
121
122
123
124 <target depends="build" name="jar-cwd"> <!-- version to run if current working directory (cwd) same as jar -->
125 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" manifest="${manifest.path.exp}">
126 <manifest>
127 <attribute name="Main-Class" value="org.expeditee.gui.Browser"/>
128 <attribute name="Class-Path" value="."/>
129 </manifest>
130 <fileset dir="${build.dir.exp}">
131 <exclude name="src/**"/>
132 </fileset>
133 </jar>
134 </target>
135 <target depends="build" name="jar"> <!-- self-contained, portable jar -->
136 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" filesetmanifest="mergewithoutmain">
137 <manifest>
138 <attribute name="Main-Class" value="org.expeditee.gui.Browser"/>
139 <attribute name="Class-Path" value="."/>
140 </manifest>
141 <fileset dir="${build.dir.exp}">
142 <exclude name="src/**"/>
143 </fileset>
144 <resources refid="portable.includes.exp" />
145 </jar>
146 </target>
147 <target depends="jar" name="inst">
148 <mkdir dir="${inst.dir.exp}" />
149 <mkdir dir="${inst.dir.exp}/jars" />
150 <copy file="${dist.dir.exp}/${dist.filename.exp}" tofile="${inst.dir.exp}/${dist.filename.exp}" />
151 <copy todir="${inst.dir.exp}/jars">
152 <path refid="classpath.exp" />
153 </copy>
154 </target>
155
156 <target name="run">
157 <java classname="org.expeditee.gui.Browser" failonerror="true" fork="yes">
158 <classpath>
159 <path refid="classpath.exp"/>
160
161 <!-- jfxrt.jar path -->
162 <path refid="classpath.jfx"/>
163
164 <pathelement location="${build.dir.exp}"/>
165 </classpath>
166 </java>
167 </target>
168
169 <target name="run-fresh">
170 <java classname="org.expeditee.gui.Browser" failonerror="true" fork="yes">
171 <classpath refid="classpath.exp"/>
172 <classpath>
173 <pathelement location="${build.dir.exp}"/>
174 </classpath>
175 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-fresh"/>
176 </java>
177 </target>
178
179
180
181
182 <target name="run-server">
183 <echo>Launching Command-line Expeditee Server on port ${expeditee.server.port}</echo>
184 <java classname="org.expeditee.network.FrameShare" failonerror="true" fork="yes">
185 <classpath refid="classpath.exp"/>
186 <classpath>
187 <pathelement location="${build.dir.exp}"/>
188 </classpath>
189 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-home"/>
190 <arg value="${expeditee.server.port}"/>
191 </java>
192 </target>
193</project>
Note: See TracBrowser for help on using the repository browser.