-
Notifications
You must be signed in to change notification settings - Fork 49
Expand file tree
/
Copy pathbuild.xml
More file actions
234 lines (191 loc) · 10.3 KB
/
Copy pathbuild.xml
File metadata and controls
234 lines (191 loc) · 10.3 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
233
<?xml version="1.0"?>
<project name="OpenMap_Core" default="all" basedir=".">
<property name="openmap.home" value="../.." />
<property name="openmap.core" value="${openmap.home}/src/core" />
<property name="openmap.src" value="${openmap.core}/src/main/java" />
<property name="openmap.classes" value="${openmap.core}/target/classes" />
<property name="openmap.jar" value="${openmap.core}/target/openmap.jar" />
<property name="openmap.docs" value="${openmap.home}/doc" />
<property name="openmap.ext" value="${openmap.home}/ext" />
<property name="openmap.dependency" value="${openmap.core}/target/dependency" />
<mkdir dir="${openmap.ext}" />
<path id="project.class.path">
<fileset dir="${openmap.ext}" includes="**/*.jar" />
<pathelement path="${java.class.path}/" />
</path>
<property name="general.excludes" value="**/*.in,**/Makefile,**/*.bat,**/ChangeLog,**/*.html,**/*.txt,**/*.*.txt,**/*.dat,**/*.pl,**/unimplemented/**,**/build.xml" />
<property name="javac.excludes" value="${general.excludes},**/*.gif,**/*.png,**/*.properties" />
<property name="jai.includes" value="**/jai/**,**/geotiff/**" />
<property name="json.includes" value="**/geojson/**,**/tpk/**" />
<property name="postgis.includes" value="**/postgis/**" />
<property name="browserlauncher.includes" value="**/BrowserLauncher*.java" />
<property name="vectortile.includes" value="**/VectorMapTileLayer.java,**/mb/**" />
<property name="svg.includes" value="**/SVG*.java" />
<property name="j3d.includes" value="**/j3d/**" />
<property name="jar.excludes" value="${general.excludes}, **/*.java" />
<available classpathref="project.class.path" classname="com.sun.media.jai.codec.ImageCodec" property="do.jai" />
<available classpathref="project.class.path" classname="com.fasterxml.jackson.annotation.JsonInclude" property="do.json" />
<available classpathref="project.class.path" classname="org.postgis.PGgeometry" property="do.postgis" />
<available classpathref="project.class.path" classname="edu.stanford.ejalbert.BrowserLauncher" property="do.browserlauncher" />
<available classpathref="project.class.path" classname="no.ecc.vectortile.VectorTileDecoder" property="do.vectortile" />
<available classpathref="project.class.path" classname="org.apache.batik.svggen.SVGGraphics2D" property="do.svg" />
<available classpathref="project.class.path" classname="javax.media.j3d.Shape3D" property="do.j3d" />
<!-- ############################
Set up the different builds.
############################ -->
<target name="copydependency.check">
<echo message="Checking if dependencies available..." />
<condition property="copydependency">
<and>
<available file="${openmap.dependency}" type="dir" />
</and>
</condition>
</target>
<target name="ext.copy" depends="copydependency.check" if="copydependency">
<echo message="Copying dependencies..." />
<copy todir="${openmap.ext}">
<fileset dir="${openmap.dependency}" includes="**/*.jar" />
</copy>
</target>
<!-- ############################
End of property setup.
############################ -->
<!-- ############################
Main targets
############################ -->
<target name="all" depends="jar" description="Compiles standard OpenMap classes and creates the jar files." />
<target name="jar" depends="classes" description="Builds jar files, placing them in the lib directory.">
<jar jarfile="${openmap.jar}" basedir="${openmap.classes}" manifest="${openmap.home}/share/manifest.txt" index="true" includes="openmap.properties,
**/*.class,
**/*.gif, **/*.png,
**/*.properties" />
</target>
<!-- ############################
Standard target, to build everything you can.
############################ -->
<target name="classes" depends="ext.copy" description="Compiles the OpenMap classes.">
<mkdir dir="${openmap.classes}" />
<!-- Main OpenMap Classes -->
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" excludes="${javac.excludes},${jai.includes},${json.includes},${postgis.includes},${browserlauncher.includes},${vectortile.includes},${svg.includes},${j3d.includes}" />
<!-- Optional classes, depending on available external packages -->
<condition property="jai.message" value="jai dependencies found" else="jai dependencies NOT found, skipping those classes...">
<isset property="do.jai" />
</condition>
<echo message="${jai.message}" />
<condition property="json.message" value="json dependencies found" else="json dependencies NOT found, skipping those classes...">
<isset property="do.json" />
</condition>
<echo message="${json.message}" />
<condition property="postgis.message" value="postgis dependencies found" else="postgis dependencies NOT found, skipping those classes...">
<isset property="do.postgis" />
</condition>
<echo message="${postgis.message}" />
<condition property="browserlauncher.message" value="browserlauncher dependencies found" else="browserlauncher dependencies NOT found, skipping those classes...">
<isset property="do.browserlauncher" />
</condition>
<echo message="${browserlauncher.message}" />
<condition property="vectortile.message" value="vector tile dependencies found" else="vector tile dependencies NOT found, skipping those classes...">
<isset property="do.vectortile" />
</condition>
<echo message="${vectortile.message}" />
<condition property="svg.message" value="SVG dependencies found" else="SVG dependencies NOT found, skipping those classes...">
<isset property="do.svg" />
</condition>
<echo message="${svg.message}" />
<condition property="j3d.message" value="J3D dependencies found" else="J3D dependencies NOT found, skipping those classes...">
<isset property="do.j3d" />
</condition>
<echo message="${j3d.message}" />
<condition property="suggestion.message" value="" else="NOTE: dependencies can be retrieved if you use maven to build OpenMap, with: mvn dependency:copy-dependencies">
<isset property="do.vectortile" />
</condition>
<echo message="${suggestion.message}" />
<antcall target="classes.jai" />
<antcall target="classes.json" />
<antcall target="classes.postgis" />
<antcall target="classes.browserlauncher" />
<antcall target="classes.vectortile" />
<antcall target="classes.svg" />
<antcall target="classes.j3d" />
<echo message="gathering resources..." />
<!-- Copy the gifs and other resources to the new classpath. -->
<copy todir="${openmap.classes}" file="${openmap.home}/openmap.properties" />
<copy todir="${openmap.classes}">
<fileset dir="${openmap.core}/src/main/resources" includes="**/*.gif, **/*.png, **/*.properties" />
</copy>
</target>
<target name="classes.jai" if="${do.jai}">
<echo message="Compiling JAI classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${jai.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.json" if="${do.json}">
<echo message="Compiling JSOM classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${json.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.postgis" if="${do.postgis}">
<echo message="Compiling PostGIS classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${postgis.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.browserlauncher" if="${do.browserlauncher}">
<echo message="Compiling BrowserLauncher classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${browserlauncher.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.vectortile" if="${do.vectortile}">
<echo message="Compiling Vector Tile classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${vectortile.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.svg" if="${do.svg}">
<echo message="Compiling SVG classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${svg.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="classes.j3d" if="${do.j3d}">
<echo message="Compiling J3D classes..." />
<javac includeantruntime="false" srcdir="${openmap.src}" destdir="${openmap.classes}" debug="on" includes="${j3d.includes}">
<classpath refid="project.class.path" />
</javac>
</target>
<!-- ############################
Build the documentation.
############################ -->
<target name="docs.core" description="Make the javadoc API html documents.">
<javadoc sourcepath="${openmap.src}" destdir="${openmap.docs}/api" maxmemory="256m" excludepackagenames="**unimplemented**" packagenames="com.bbn.openmap.*, Acme.*, dopplet.*, edu.*" author="true" version="true" use="true" windowtitle="OpenMap API" doctitle="OpenMap" bottom="See http://openmap-java.org/ for details" />
</target>
<!-- ############################
Cleanup targets
############################ -->
<target name="clean_all" depends="clean, docsclean" description="Delete jar files, class files, and generated documentation." />
<target name="clean" description="Delete jar files and all class files">
<delete dir="${openmap.core}/target" />
</target>
<target name="distclean" description="Delete class files, but not the jar files.">
<delete dir="${openmap.classes}" />
</target>
<target name="jarclean" description="Delete only the jar files from the lib directory.">
<delete file="${openmap.core}/target/*.jar" />
</target>
<target name="docsclean" description="Delete only the generated API documentation.">
<delete>
<fileset dir="${openmap.docs}/api" includes="**/*.html,
**/stylesheet.css,
**/package-list" excludes="doc-index.html" />
</delete>
<delete dir="${openmap.docs}/api/com" />
<delete dir="${openmap.docs}/api/Acme" />
<delete dir="${openmap.docs}/api/edu" />
</target>
<!-- ############################
End of cleanup targets.
############################ -->
</project>