source: general/prog/apache-ant.xml@ 46cfa88

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 46cfa88 was d61ead0a, checked in by DJ Lucas <dj@…>, 6 years ago

Update to OpenJDK-9.0.4.
Update to make-ca-0.7.
Update to Apache-Ant-1.10.2.

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

  • Property mode set to 100644
File size: 11.1 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 "57235f3dccfc4b18a260862905ce6c04">
10 <!ENTITY apache-ant-size "3.6 MB">
11 <!ENTITY apache-ant-buildsize "262 MB">
12 <!ENTITY apache-ant-time "0.3 SBU (with a JVM using 4 cores)">
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 &lfs81_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>Build a limited bootstrap version of <application>Apache
126 Ant</application> using the following command:</para>
127
128<screen><userinput>./bootstrap.sh</userinput></screen>
129
130 <para>Download the rest of the runtime dependencies using the
131 <filename>fetch.xml</filename> ant build script:</para>
132
133<screen><userinput>bootstrap/bin/ant -f fetch.xml -Ddest=system || true &amp;&amp;
134cp -v lib/*.jar lib/optional/</userinput></screen>
135
136 <para>Build <application>Apache Ant</application> by running the following
137 command:</para>
138
139<screen><userinput>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version; dist</userinput></screen>
140
141 <para>Install, as the <systemitem class="username">root</systemitem> user:</para>
142
143<screen role="root"><userinput>cp -rv ant-&apache-ant-version; /opt/ &amp;&amp;
144chown -R root:root /opt/ant-&apache-ant-version; &amp;&amp;
145ln -sfv ant-&apache-ant-version; /opt/ant</userinput></screen>
146
147 </sect2>
148
149 <sect2 role="commands">
150 <title>Command Explanations</title>
151
152 <para><command>bootstrap/bin/ant -f fetch.xml -Ddest=system ||
153 true</command>: These commands download the rest of the missing dependencies
154 into the source tree (in the <filename>lib/</filename> directory).</para>
155
156 <para><command>cp -v ... lib/optional</command>: This command copies the
157 previously downloaded jar files to the expected place in the source
158 tree so that <command>ant</command> picks them up at buld time.</para>
159
160 <para><command>./build.sh -Ddist.dir=$PWD/ant-&apache-ant-version;
161 dist</command>: This command builds, tests, then
162 installs the package into
163 <filename class='directory'>a temporary directory.</filename>.</para>
164
165 </sect2>
166
167 <sect2 role="configuration">
168 <title>Configuring Apache Ant</title>
169
170 <sect3 id="apache-ant-config">
171 <title>Config Files</title>
172
173 <para><filename>/etc/ant/ant.conf</filename>,
174 <filename>~/.ant/ant.conf</filename>, and
175 <filename>~/.antrc</filename></para>
176
177 <indexterm zone="apache-ant apache-ant-config">
178 <primary sortas="e-AA.ant-ant.conf">~/.ant/ant.conf</primary>
179 </indexterm>
180
181 <indexterm zone="apache-ant apache-ant-config">
182 <primary sortas="e-AA.antrc">~/.antrc</primary>
183 </indexterm>
184
185 <indexterm zone="apache-ant apache-ant-config">
186 <primary sortas="e-etc-ant-ant.conf">/etc/ant/ant.conf</primary>
187 </indexterm>
188
189 </sect3>
190
191 <sect3>
192 <title>Configuration Information</title>
193
194 <para>Some packages will require <command>ant</command> to be in the
195 search path and the <envar>ANT_HOME</envar> environment variable
196 defined. Satisfy these requirements by issuing, as the <systemitem
197 class="username">root</systemitem> user:</para>
198
199<screen role="root"><userinput>cat &gt; /etc/profile.d/ant.sh &lt;&lt; EOF
200<literal># Begin /etc/profile.d/ant.sh
201
202pathappend /opt/ant/bin
203export ANT_HOME=/opt/ant
204
205# End /etc/profile.d/ant.sh</literal>
206EOF</userinput></screen>
207
208 <para>The above instrutions assume you have configured your system as
209 described in <xref linkend="postlfs-config-profile"/>.</para>
210
211 </sect3>
212
213 </sect2>
214
215 <sect2 role="content">
216 <title>Contents</title>
217
218 <segmentedlist>
219 <segtitle>Installed Programs</segtitle>
220 <segtitle>Installed Libraries</segtitle>
221 <segtitle>Installed Directories</segtitle>
222
223 <seglistitem>
224 <seg>ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py</seg>
225 <seg>ant*.jar</seg>
226 <seg>/opt/ant-&apache-ant-version;</seg>
227 </seglistitem>
228 </segmentedlist>
229
230 <variablelist>
231 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
232 <?dbfo list-presentation="list"?>
233 <?dbhtml list-presentation="table"?>
234
235 <varlistentry id="ant">
236 <term><command>ant</command></term>
237 <listitem>
238 <para>is a <application>Java</application> based build tool used by
239 many packages instead of the conventional <command>make</command>
240 program.</para>
241 <indexterm zone="apache-ant ant">
242 <primary sortas="b-ant">ant</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="antRun">
248 <term><command>antRun</command></term>
249 <listitem>
250 <para>is a support script used to start <command>ant</command>
251 build scripts in a given directory.</para>
252 <indexterm zone="apache-ant antRun">
253 <primary sortas="b-antRun">antRun</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="antRun.pl">
259 <term><command>antRun.pl</command></term>
260 <listitem>
261 <para>is a <application>Perl</application> script that provides
262 similar functionality offered by the <command>antRun</command> script.</para>
263 <indexterm zone="apache-ant antRun.pl">
264 <primary sortas="b-antRun.pl">antRun.pl</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="complete-ant-cmd.pl">
270 <term><command>complete-ant-cmd.pl</command></term>
271 <listitem>
272 <para>is a <application>Perl</application> script that allows
273 <application>Bash</application> to complete an <command>ant</command>
274 command-line.</para>
275 <indexterm zone="apache-ant complete-ant-cmd.pl">
276 <primary sortas="b-complete-ant-cmd.pl">complete-ant-cmd.pl</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 <varlistentry id="runant.pl">
282 <term><command>runant.pl</command></term>
283 <listitem>
284 <para>is a <application>Perl</application> wrapper script used to
285 invoke <command>ant</command>.</para>
286 <indexterm zone="apache-ant runant.pl">
287 <primary sortas="b-runant.pl">runant.pl</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 <varlistentry id="runant.py">
293 <term><command>runant.py</command></term>
294 <listitem>
295 <para>is a <application>Python</application> wrapper script used to
296 invoke <command>ant</command>.</para>
297 <indexterm zone="apache-ant runant.py">
298 <primary sortas="b-runant.py">runant.py</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry id="ant-star">
304 <term><filename class='libraryfile'>ant*.jar</filename></term>
305 <listitem>
306 <para>files are the <application>Apache Ant</application>
307 <application>Java</application> class libraries.</para>
308 <indexterm zone="apache-ant ant-star">
309 <primary sortas="c-ant-star">ant-*.jar</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 </variablelist>
315
316 </sect2>
317
318</sect1>
Note: See TracBrowser for help on using the repository browser.