source: general/prog/apache-ant.xml@ 8d4d84d

perl-modules
Last change on this file since 8d4d84d was fbd186f, checked in by DJ Lucas <dj@…>, 6 years ago

Update to Apache-Ant-1.10.4. Fixes #10896.
Update to Apache-Maven-3.5.4. Fixes #11062.
Fix build issue with junit-4.12. Fixes #10777.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@20401 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY apache-ant-download-http "https://archive.apache.org/dist/ant/source/apache-ant-&apache-ant-version;-src.tar.xz">
8 <!ENTITY apache-ant-download-ftp " ">
9 <!ENTITY apache-ant-md5sum "a8297467f7d13873897ff4418ff1e932">
10 <!ENTITY apache-ant-size "4.0 MB">
11 <!ENTITY apache-ant-buildsize "264 MB">
12 <!ENTITY apache-ant-time "0.2 SBU (excluding download time)">
13]>
14
15<sect1 id="apache-ant" xreflabel="apache-ant-&apache-ant-version;">
16 <?dbhtml filename="apache-ant.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>apache-ant-&apache-ant-version;</title>
24
25 <indexterm zone="apache-ant">
26 <primary sortas="a-Apache-Ant">Apache Ant</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Apache Ant</title>
31
32 <para>The <application>Apache Ant</application> package is a
33 <application>Java</application>-based build tool. In theory, it is
34 like the <command>make</command> command, but without <command>make</command>'s
35 wrinkles. <application>Ant</application> is different. Instead of a model
36 that is extended with shell-based commands, <application>Ant</application>
37 is extended using <application>Java</application> classes. Instead of
38 writing shell commands, the configuration files are XML-based, calling out
39 a target tree that executes various tasks. Each task is run by an object
40 that implements a particular task interface.</para>
41
42 &lfs83_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>Download (HTTP): <ulink url="&apache-ant-download-http;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download (FTP): <ulink url="&apache-ant-download-ftp;"/></para>
51 </listitem>
52 <listitem>
53 <para>Download MD5 sum: &apache-ant-md5sum;</para>
54 </listitem>
55 <listitem>
56 <para>Download size: &apache-ant-size;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated disk space required: &apache-ant-buildsize;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated build time: &apache-ant-time;</para>
63 </listitem>
64 </itemizedlist>
65<!--
66 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
67 <itemizedlist spacing="compact">
68 <listitem>
69 <para>
70 Required file: <ulink
71 url="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/javax/media/jai-core/1.1.3/jai-core-1.1.3.jar"/>
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Required file: <ulink
77 url="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/com/sun/media/jai-codec/1.1.3/jai-codec-1.1.3.jar"/>
78 </para>
79 </listitem>
80 <listitem>
81 <para>
82 Required file: <ulink
83 url="http://central.maven.org/maven2/org/tukaani/xz/1.0/xz-1.0.jar"/>
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Required file: <ulink
89 url="http://www.netrexx.org/files/NetRexx-3.06-GA.zip"/>
90 </para>
91 </listitem>
92 </itemizedlist>
93-->
94 <bridgehead renderas="sect3">Apache Ant Dependencies</bridgehead>
95
96 <bridgehead renderas="sect4">Required</bridgehead>
97 <para role="required">
98 A JDK (<xref linkend="java-bin"/> or <xref linkend="openjdk"/>) and
99 <xref linkend="glib2"/>
100 </para>
101
102<!-- <bridgehead renderas="sect4">Recommended</bridgehead>
103 <para role="recommended">
104 <xref linkend="junit"/>
105 </para>
106-->
107 <para condition="html" role="usernotes">User Notes:
108 <ulink url="&blfs-wiki;/apache-ant"/></para>
109
110 </sect2>
111
112 <sect2 role="installation">
113 <title>Installation of Apache Ant</title>
114<!--
115 <note><para>Several dependent packages have moved since the packaging of
116 <application>Ant</application> requiring download of the above extra files.
117 Copy those files into the source tree with the following
118 commands:</para></note>
119
120<screen><userinput>cp -v ../jai-core-1.1.3.jar \
121 ../jai-codec-1.1.3.jar \
122 ../xz-1.0.jar lib &amp;&amp;
123unzip -p ../NetRexx-3.06-GA.zip lib/NetRexxC.jar > lib/NetRexxC.jar</userinput></screen>
124-->
125 <para>
126 Build a limited bootstrap version of <application>Apache
127 Ant</application> using the following command:
128 </para>
129
130<screen><userinput>./bootstrap.sh</userinput></screen>
131
132 <para>
133 Download the runtime dependencies using the
134 <filename>fetch.xml</filename> ant build script:
135 </para>
136
137<screen><userinput>bootstrap/bin/ant -f fetch.xml -Ddest=system &amp;&amp;
138cp -v lib/*.jar lib/optional/</userinput></screen>
139
140 <para>
141 Build <application>Apache Ant</application> by running the following
142 command:
143 </para>
144
145<screen><userinput>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version; dist</userinput></screen>
146
147 <para>
148 Install, as the <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"><userinput>cp -rv ant-&apache-ant-version; /opt/ &amp;&amp;
152chown -R root:root /opt/ant-&apache-ant-version; &amp;&amp;
153ln -sfv ant-&apache-ant-version; /opt/ant</userinput></screen>
154
155 </sect2>
156
157 <sect2 role="commands">
158 <title>Command Explanations</title>
159
160 <para>
161 <command>bootstrap/bin/ant -f fetch.xml -Ddest=system</command>:
162 Downloads the missing dependencies to user's home directory, and copy
163 them into the source tree (in the <filename>lib/</filename> directory).
164 </para>
165
166 <para>
167 <command>cp -v ... lib/optional</command>: This command copies the
168 previously downloaded jar files to the expected place in the source
169 tree so that <command>ant</command> picks them up at buld time.
170 </para>
171
172 <para>
173 <command>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version;
174 dist</command>: This command builds, tests, then installs the package
175 into a temporary directory.
176 </para>
177
178 </sect2>
179
180 <sect2 role="configuration">
181 <title>Configuring Apache Ant</title>
182
183 <sect3 id="apache-ant-config">
184 <title>Config Files</title>
185
186 <para><filename>/etc/ant/ant.conf</filename>,
187 <filename>~/.ant/ant.conf</filename>, and
188 <filename>~/.antrc</filename></para>
189
190 <indexterm zone="apache-ant apache-ant-config">
191 <primary sortas="e-AA.ant-ant.conf">~/.ant/ant.conf</primary>
192 </indexterm>
193
194 <indexterm zone="apache-ant apache-ant-config">
195 <primary sortas="e-AA.antrc">~/.antrc</primary>
196 </indexterm>
197
198 <indexterm zone="apache-ant apache-ant-config">
199 <primary sortas="e-etc-ant-ant.conf">/etc/ant/ant.conf</primary>
200 </indexterm>
201
202 </sect3>
203
204 <sect3>
205 <title>Configuration Information</title>
206
207 <para>Some packages will require <command>ant</command> to be in the
208 search path and the <envar>ANT_HOME</envar> environment variable
209 defined. Satisfy these requirements by issuing, as the <systemitem
210 class="username">root</systemitem> user:</para>
211
212<screen role="root"><userinput>cat &gt; /etc/profile.d/ant.sh &lt;&lt; EOF
213<literal># Begin /etc/profile.d/ant.sh
214
215pathappend /opt/ant/bin
216export ANT_HOME=/opt/ant
217
218# End /etc/profile.d/ant.sh</literal>
219EOF</userinput></screen>
220
221 <para>The above instrutions assume you have configured your system as
222 described in <xref linkend="postlfs-config-profile"/>.</para>
223
224 </sect3>
225
226 </sect2>
227
228 <sect2 role="content">
229 <title>Contents</title>
230
231 <segmentedlist>
232 <segtitle>Installed Programs</segtitle>
233 <segtitle>Installed Libraries</segtitle>
234 <segtitle>Installed Directories</segtitle>
235
236 <seglistitem>
237 <seg>
238 ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py </seg>
239 <seg>
240 Numerous <filename>ant*.jar</filename> and dependant libraries in
241 <envar>$ANT_HOME</envar><filename>/lib</filename>
242 </seg>
243 <seg>/opt/ant-&apache-ant-version;</seg>
244 </seglistitem>
245 </segmentedlist>
246
247 <variablelist>
248 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
249 <?dbfo list-presentation="list"?>
250 <?dbhtml list-presentation="table"?>
251
252 <varlistentry id="ant">
253 <term><command>ant</command></term>
254 <listitem>
255 <para>is a <application>Java</application> based build tool used by
256 many packages instead of the conventional <command>make</command>
257 program.</para>
258 <indexterm zone="apache-ant ant">
259 <primary sortas="b-ant">ant</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="antRun">
265 <term><command>antRun</command></term>
266 <listitem>
267 <para>is a support script used to start <command>ant</command>
268 build scripts in a given directory.</para>
269 <indexterm zone="apache-ant antRun">
270 <primary sortas="b-antRun">antRun</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry id="antRun.pl">
276 <term><command>antRun.pl</command></term>
277 <listitem>
278 <para>is a <application>Perl</application> script that provides
279 similar functionality offered by the <command>antRun</command> script.</para>
280 <indexterm zone="apache-ant antRun.pl">
281 <primary sortas="b-antRun.pl">antRun.pl</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="complete-ant-cmd.pl">
287 <term><command>complete-ant-cmd.pl</command></term>
288 <listitem>
289 <para>is a <application>Perl</application> script that allows
290 <application>Bash</application> to complete an <command>ant</command>
291 command-line.</para>
292 <indexterm zone="apache-ant complete-ant-cmd.pl">
293 <primary sortas="b-complete-ant-cmd.pl">complete-ant-cmd.pl</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 <varlistentry id="runant.pl">
299 <term><command>runant.pl</command></term>
300 <listitem>
301 <para>is a <application>Perl</application> wrapper script used to
302 invoke <command>ant</command>.</para>
303 <indexterm zone="apache-ant runant.pl">
304 <primary sortas="b-runant.pl">runant.pl</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="runant.py">
310 <term><command>runant.py</command></term>
311 <listitem>
312 <para>is a <application>Python</application> wrapper script used to
313 invoke <command>ant</command>.</para>
314 <indexterm zone="apache-ant runant.py">
315 <primary sortas="b-runant.py">runant.py</primary>
316 </indexterm>
317 </listitem>
318 </varlistentry>
319
320 <varlistentry id="ant-star">
321 <term><filename class='libraryfile'>ant*.jar</filename></term>
322 <listitem>
323 <para>files are the <application>Apache Ant</application>
324 <application>Java</application> class libraries.</para>
325 <indexterm zone="apache-ant ant-star">
326 <primary sortas="c-ant-star">ant-*.jar</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 </variablelist>
332
333 </sect2>
334
335</sect1>
Note: See TracBrowser for help on using the repository browser.