source: trunk/build.xml@ 748

Last change on this file since 748 was 748, checked in by ngw8, 10 years ago

Changed JFX files to no longer use reflection (as some new features were impossible via reflection) and just import javafx instead. This will probably cause Eclipse to complain if you're using a Java version <= 7, but building/running Expeditee will still work (using Eclipse or Ant).
Have also added an Ant target that builds without ant JFX stuff. See the comments near the top of JfxBrowser.java or WebParser.java for details

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