source: trunk/build.xml@ 1082

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

Refactoring to allow support for additional scriptable languages. In this case, Python being added in through Jythohn Java library

File size: 6.9 KB
RevLine 
[507]1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<project basedir="." default="build" name="Expeditee">
[216]3
[507]4 <tstamp>
5 <format property="TODAY_EXP" pattern="yy.MM.dd"/>
6 </tstamp>
[216]7
[507]8 <property environment="env"/>
[216]9
[507]10 <property name="dist.dir.exp" location="releases" />
[510]11 <!--
12 <property name="dist.filename.exp" value="Exp.${TODAY_EXP}.jar" />
13 -->
[647]14 <property name="dist.filename.exp" value="Expeditee.jar" />
15 <property name="build.dir.exp" location="bin" />
[527]16 <property name="manifest.path.exp" value="makeFiles/Manifest.txt" />
[647]17 <property name="lib.dir.exp" location="releases/jars" />
[528]18 <property name="inst.dir.exp" location="inst" />
[216]19
[651]20 <!--
21 If changing this value, make sure you run `ant clean`
22 -->
[995]23 <property name="javac.source" value="1.8" />
[647]24 <property name="javac.target" value="${javac.source}" />
[872]25
[647]26 <property name="expeditee.server.port" value="3000"/>
27
[527]28 <union id="portable.includes.exp">
[507]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"/>
[1078]37 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jython-standalone-2.7.0.jar"/>
[507]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"/>
[858]44 <zipfileset excludes="META-INF/*.SF" src="releases/jars/json-simple-1.1.1.jar"/>
[995]45 <zipfileset excludes="META-INF/*.SF" src="releases/jars/commons-cli-1.2.jar"/>
[872]46 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jgraphx.jar"/>
[995]47 <zipfileset excludes="META-INF/*.SF" src="releases/jars/svgSalamander.jar"/>
[1014]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"/>
[507]51 </union>
[216]52
[527]53 <path id="classpath.exp">
54 <fileset dir="${lib.dir.exp}">
55 <include name="*.jar" />
[531]56 <include name="ext/*.jar" />
[527]57 </fileset>
[216]58 </path>
[748]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>
[216]64
[507]65 <target name="clean">
66 <!-- delete only the class files built by expeditee -->
67 <delete dir="${build.dir.exp}/org"/>
[528]68 <delete dir="${inst.dir.exp}" />
[216]69 </target>
[507]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>
[216]85 </target>
[748]86
[507]87 <target depends="init" name="build">
[995]88 <javac source="${javac.source}" target="${javac.target}" debug="true"
[647]89 destdir="${build.dir.exp}" includeantruntime="false">
[748]90
[507]91 <src path="src"/>
92 <src path="tests"/>
[748]93
[507]94 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
[748]95
96 <classpath>
97 <path refid="classpath.exp"/>
98
99 <!-- jfxrt.jar path -->
100 <path refid="classpath.jfx"/>
101 </classpath>
102 </javac>
103 </target>
104
105 <target depends="init" name="build-nojfx">
106 <javac source="${javac.source}" target="${javac.target}" debug="false"
107 destdir="${build.dir.exp}" includeantruntime="false">
108
109 <src path="tests"/>
110 <src path="src"/>
111 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/>
112
113 <!-- Files that rely on JavaFX. Use build to build with them included -->
114 <exclude name="org/expeditee/items/widgets/JfxBrowser.java"/>
115 <exclude name="org/expeditee/io/WebParser.java"/>
[925]116 <exclude name="org/expeditee/items/widgets/JfxMedia.java"/>
[748]117 <exclude name="org/expeditee/actions/JfxBrowserActions.java"/>
118
[527]119 <classpath refid="classpath.exp"/>
[216]120 </javac>
121 </target>
[748]122
123
124
[1004]125 <target depends="build" name="jar-cwd"> <!-- version to run if current working directory (cwd) same as jar -->
[527]126 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" manifest="${manifest.path.exp}">
127 <manifest>
[1067]128 <attribute name="Main-Class" value="org.apollo.ApolloSystem"/>
[527]129 <attribute name="Class-Path" value="."/>
130 </manifest>
131 <fileset dir="${build.dir.exp}">
132 <exclude name="src/**"/>
133 </fileset>
134 </jar>
135 </target>
[1004]136 <target depends="build" name="jar"> <!-- self-contained, portable jar -->
[507]137 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" filesetmanifest="mergewithoutmain">
138 <manifest>
[1067]139 <attribute name="Main-Class" value="org.apollo.ApolloSystem"/>
[507]140 <attribute name="Class-Path" value="."/>
141 </manifest>
142 <fileset dir="${build.dir.exp}">
143 <exclude name="src/**"/>
144 </fileset>
[527]145 <resources refid="portable.includes.exp" />
[507]146 </jar>
[216]147 </target>
[528]148 <target depends="jar" name="inst">
149 <mkdir dir="${inst.dir.exp}" />
150 <mkdir dir="${inst.dir.exp}/jars" />
151 <copy file="${dist.dir.exp}/${dist.filename.exp}" tofile="${inst.dir.exp}/${dist.filename.exp}" />
152 <copy todir="${inst.dir.exp}/jars">
[531]153 <path refid="classpath.exp" />
[528]154 </copy>
155 </target>
156
[507]157 <target name="run">
[1067]158 <java classname="org.apollo.ApolloSystem" failonerror="true" fork="yes">
[510]159 <classpath>
[748]160 <path refid="classpath.exp"/>
161
162 <!-- jfxrt.jar path -->
163 <path refid="classpath.jfx"/>
164
[507]165 <pathelement location="${build.dir.exp}"/>
166 </classpath>
167 </java>
[216]168 </target>
[498]169
[995]170 <target name="run-fresh">
[1067]171 <java classname="org.apollo.ApolloSystem" failonerror="true" fork="yes">
[995]172 <classpath refid="classpath.exp"/>
173 <classpath>
174 <pathelement location="${build.dir.exp}"/>
175 </classpath>
176 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-fresh"/>
177 </java>
178 </target>
[647]179
[995]180
181
182
[647]183 <target name="run-server">
184 <echo>Launching Command-line Expeditee Server on port ${expeditee.server.port}</echo>
185 <java classname="org.expeditee.network.FrameShare" failonerror="true" fork="yes">
186 <classpath refid="classpath.exp"/>
187 <classpath>
188 <pathelement location="${build.dir.exp}"/>
189 </classpath>
190 <jvmarg value="-Dexpeditee.home=${user.dir}/expeditee-home"/>
191 <arg value="${expeditee.server.port}"/>
192 </java>
193 </target>
[498]194</project>
Note: See TracBrowser for help on using the repository browser.