forked from elek/antelope
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
188 lines (160 loc) · 7.93 KB
/
build.xml
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
<project name="Antelope Master Build" basedir="." default="all">
<description>
Master build file for Antelope, calls other build files to do the actual
work:
build-plugin.xml, target name is "plugin"
build-app.xml, target name is "app"
build-source.xml, target name is "source"
build-tasks.xml, target name is "tasks"
The default target builds Antelope as a jEdit plugin. Call target "all"
to build all distribution files, call target "transform-docs" to build
the documentation prior to running any of the above.
</description>
<!-- ========================================================================
Property definition
========================================================================= -->
<!-- read build.props to override default property values set below -->
<property file="build.props"/>
<!-- source code directory, this is where the .java files live -->
<property name="src.dir" location="src" />
<!-- build directory, configuration and documentation files contained in
the src directory are copied to this directory for pre-processing (tag
substitution, mostly) -->
<property name="prep.dir" location="prep"/>
<!-- configuration directory, configuration files from the src directory are
copied here for pre-processing -->
<property name="config.dir" location="${prep.dir}/config" />
<!-- documentation directory, documentation files from the src directory are
copied here for pre-processing -->
<property name="doc.dir" location="${prep.dir}/docs" />
<!-- override with a local path to docbookx.dtd if disconnected -->
<property name="docbookx.dtd" value="http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"/>
<!-- directory for the compiled classes -->
<property name="classes.dir" location="classes" />
<!-- directory for the completed distribution files -->
<property name="dist.dir" location="dist" />
<!-- ========================================================================
Target: all
this target creates a complete set of distribution files
========================================================================= -->
<target name="all"
description="Build complete set of distribution files."
depends="clean,plugin,app,source,plugin-source,tasks"/>
<!-- ========================================================================
Target: clean
deletes all files from the dist directory
========================================================================= -->
<target name="clean" description="Delete all files from the dist directory.">
<delete failonerror="false">
<fileset dir="${dist.dir}">
<include name="**/*"/>
</fileset>
</delete>
</target>
<!-- ========================================================================
Target: plugin
this target creates the distribution file for the jEdit plugin
========================================================================= -->
<target name="plugin"
description="Build distribution file for jEdit plugin">
<ant antfile="build-plugin.xml"/>
</target>
<!-- ========================================================================
Target: app
this target creates the distribution file for the Antelope application
========================================================================= -->
<target name="app"
description="Build distribution file for Antelope application">
<ant antfile="build-app.xml"/>
</target>
<!-- ========================================================================
Target: source
this target creates the distribution file for the Antelope source code
========================================================================= -->
<target name="source"
description="Build distribution file for Antelope source.">
<ant antfile="build-source.xml"/>
</target>
<!-- ========================================================================
Target: plugin-source
this target creates the distribution file for the source code for the
Antelope plugin for jEdit
========================================================================= -->
<target name="plugin-source"
description="Build distribution file for Antelope plugin source.">
<ant antfile="build-plugin-src.xml"/>
</target>
<!-- ========================================================================
Target: tasks
this target creates the distribution file for the Antelope tasks
========================================================================= -->
<target name="tasks"
description="Build distribution file for Antelope tasks.">
<ant antfile="build-tasks.xml"/>
</target>
<!-- ========================================================================
Target: transform-docs
converts the xml docbook formatted documentation into html and puts it
into the prep directory.
========================================================================= -->
<target name="transform-docs"
description="Create html documentation from xml source."
depends="init"
unless="docs.done">
<!-- first, remove any previous documentation files from the prep
directory -->
<delete>
<fileset dir="${doc.dir}" includes="manual/**/*" />
</delete>
<!-- copy the images and style sheets to the prep directory -->
<copy todir="${doc.dir}/manual">
<fileset dir="${src.dir}/docs/manual" includes="**/*.gif" />
<fileset dir="${src.dir}/docs/manual" includes="**/*.jpg" />
<fileset dir="${src.dir}/docs/manual" includes="**/*.css" />
</copy>
<property name="xsltproc.executable" value="/usr/bin/xsltproc"/>
<property name="user-doc.out" location="${doc.dir}/manual"/>
<property name="user-doc.xml" value="${src.dir}/docs/manual/userguide.xml"/>
<property name="user-doc.xsl" value="${src.dir}/docs/users-guide.xsl"/>
<property name="docbook.catalog" value="/usr/share/sgml/docbook/dtd/catalog"/>
<exec executable="${xsltproc.executable}" dir="${user-doc.out}" failonerror="true">
<arg value="--output" />
<arg value="${user-doc.out}/manual" />
<arg value="--catalogs" />
<arg value="${user-doc.xsl}" />
<arg value="${user-doc.xml}" />
<env key="SGML_CATALOG_FILES" file="${docbook.catalog}" />
</exec>
</target>
<!-- ========================================================================
Target: run
this target runs Antelope as a stand-alone application using the compiled
classes
========================================================================= -->
<target name="run"
description="Run Antelope">
<ant antfile="build-app.xml" target="run"/>
</target>
<target name="test_deployment">
<echo>dist.dir = ${dist.dir}</echo>
<ant antfile="${src.dir}/test/antelope_deployment_suite.xml"
dir="${src.dir}/test"
inheritAll="true"/>
</target>
<!-- ========================================================================
Target: init
this target creates the directories needed for this project and
only needs to be done once.
========================================================================= -->
<target name="init"
description="Create directory structure."
unless="init.done">
<mkdir dir="${src.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${prep.dir}"/>
<mkdir dir="${doc.dir}" />
<mkdir dir="${config.dir}" />
<mkdir dir="${dist.dir}"/>
<property name="init.done" value="true"/>
</target>
</project>