source: general/prog/apache-ant.xml@ 784a1a7f

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 784a1a7f was 784a1a7f, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

Moved apache-ant to programming section.
Created sub-section in programming for java.
Added a separate section intorducing java and
doing the binary install. Marked junit, apache-ant
and openjdk as undergoing revision.

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

  • Property mode set to 100644
File size: 10.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 "http://archive.apache.org/dist/ant/source/apache-ant-&apache-ant-version;-src.tar.bz2">
8 <!ENTITY apache-ant-download-ftp " ">
9 <!ENTITY apache-ant-md5sum "c474fa9d0c35a24037c23b6e476862c1">
10 <!ENTITY apache-ant-size "3.2 MB">
11 <!ENTITY apache-ant-buildsize "66 MB">
12 <!ENTITY apache-ant-time "0.4 SBU">
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 <warning><para>Under revison do not use for now.</para></warning>
33
34
35 <para>The <application>Apache Ant</application> package is a
36 <application>Java</application>-based build tool. In theory, it is kind of
37 like <command>make</command>, but without <command>make</command>'s
38 wrinkles. <application>Ant</application> is different. Instead of a model
39 that is extended with shell-based commands, <application>Ant</application>
40 is extended using <application>Java</application> classes. Instead of
41 writing shell commands, the configuration files are XML-based, calling out
42 a target tree that executes various tasks. Each task is run by an object
43 that implements a particular task interface.</para>
44
45 &lfs72_checked;
46
47 <bridgehead renderas="sect3">Package Information</bridgehead>
48 <itemizedlist spacing="compact">
49 <listitem>
50 <para>Download (HTTP): <ulink url="&apache-ant-download-http;"/></para>
51 </listitem>
52 <listitem>
53 <para>Download (FTP): <ulink url="&apache-ant-download-ftp;"/></para>
54 </listitem>
55 <listitem>
56 <para>Download MD5 sum: &apache-ant-md5sum;</para>
57 </listitem>
58 <listitem>
59 <para>Download size: &apache-ant-size;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated disk space required: &apache-ant-buildsize;</para>
63 </listitem>
64 <listitem>
65 <para>Estimated build time: &apache-ant-time;</para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Apache Ant Dependencies</bridgehead>
70
71 <bridgehead renderas="sect4">Required</bridgehead>
72 <para role="required">
73 <xref linkend="openjdk"/> <!-- or <xref linkend="jdk"/> -->
74 </para>
75
76 <bridgehead renderas="sect4">Recommended</bridgehead>
77 <para role="recommended">
78 <xref linkend="junit"/>
79 </para>
80
81 <para condition="html" role="usernotes">User Notes:
82 <ulink url="&blfs-wiki;/apache-ant"/></para>
83
84 </sect2>
85
86 <sect2 role="installation">
87 <title>Installation of Apache Ant</title>
88
89 <note>
90 <para>You may need additional libraries to satisfy the build
91 requirements of various packages installed using
92 <application>Apache Ant</application>. Review the table at
93 <ulink url="http://ant.apache.org/manual/install.html#librarydependencies"/>
94 for any prerequisite libraries you may need.</para>
95 </note>
96
97 <para>If it is not possible to install the recommended
98 <application>JUnit</application> package, install
99 <application>Apache Ant</application> by removing the reference to the test
100 instructions (note that the tests will not be performed):</para>
101
102<screen><userinput>sed -i 's;jars,test-jar;jars;' build.xml</userinput></screen>
103
104 <para>otherwise copy the <application>junit</application> jar file to the
105 local directory tree.</para>
106
107<screen><userinput>cp -v /usr/share/junit-&junit-version;/junit-&junit-version;.jar lib/optional/junit.jar</userinput></screen>
108
109 <para>Install <application>Apache Ant</application> by running the following
110 commands:</para>
111
112 <para>The unit regression tests are performed during the build step below
113 unless <application>JUnit</application> is not installed. Now, as the
114 <systemitem class="username">root</systemitem> user:</para>
115
116<screen role="root"><userinput>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version; dist &amp;&amp;
117ln -v -sfn ant-&apache-ant-version; /opt/ant</userinput></screen>
118
119 <note><para>Make sure the JAVA_HOME environment variable is set for the
120 <systemitem class="username">root</systemitem> user.</para></note>
121
122 </sect2>
123
124 <sect2 role="commands">
125 <title>Command Explanations</title>
126
127 <para><command>sed -i 's;jars...</command>: If the
128 <application>JUnit</application> package is not installed, the regression
129 tests cannot be performed.</para>
130
131 <para><command>cp -v
132 /usr/share/junit-&junit-version;/&junit-version;.jar ...</command>:
133 This command copies the JUnit jar file into the directory where Apache Ant
134 will look for it.</para>
135
136 <para><command>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version;
137 dist</command>: This command does everything. It builds, tests, then
138 installs the package into
139 <filename class='directory'>/opt/ant-&apache-ant-version;</filename>.</para>
140
141 <para><command>ln -v -sfn ant-&apache-ant-version; /opt/ant</command>: This
142 command is optional, and creates a convenience symlink.</para>
143
144 </sect2>
145
146 <sect2 role="configuration">
147 <title>Configuring Apache Ant</title>
148
149 <sect3 id="apache-ant-config">
150 <title>Config Files</title>
151
152 <para><filename>/etc/ant/ant.conf</filename>,
153 <filename>~/.ant/ant.conf</filename>, and
154 <filename>~/.antrc</filename></para>
155
156 <indexterm zone="apache-ant apache-ant-config">
157 <primary sortas="e-AA.ant-ant.conf">~/.ant/ant.conf</primary>
158 </indexterm>
159
160 <indexterm zone="apache-ant apache-ant-config">
161 <primary sortas="e-AA.antrc">~/.antrc</primary>
162 </indexterm>
163
164 <indexterm zone="apache-ant apache-ant-config">
165 <primary sortas="e-etc-ant-ant.conf">/etc/ant/ant.conf</primary>
166 </indexterm>
167
168 </sect3>
169
170 <sect3>
171 <title>Configuration Information</title>
172
173 <para>Some packages will require <command>ant</command> to be in the
174 search path and the <envar>$ANT_HOME</envar> environment variable
175 defined. Satisfy these requirements by adding the following lines to
176 <filename>/etc/profile</filename> or to individual user's
177 <filename>~/.profile</filename> or <filename>~/.bashrc</filename> files:</para>
178
179<screen><literal>export PATH=$PATH:/opt/ant/bin
180export ANT_HOME=/opt/ant</literal></screen>
181
182 </sect3>
183
184 </sect2>
185
186 <sect2 role="content">
187 <title>Contents</title>
188
189 <segmentedlist>
190 <segtitle>Installed Programs</segtitle>
191 <segtitle>Installed Libraries</segtitle>
192 <segtitle>Installed Directories</segtitle>
193
194 <seglistitem>
195 <seg>ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py</seg>
196 <seg>ant*.jar</seg>
197 <seg>/opt/ant-&apache-ant-version;</seg>
198 </seglistitem>
199 </segmentedlist>
200
201 <variablelist>
202 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
203 <?dbfo list-presentation="list"?>
204 <?dbhtml list-presentation="table"?>
205
206 <varlistentry id="ant">
207 <term><command>ant</command></term>
208 <listitem>
209 <para>is a <application>Java</application> based build tool used by
210 many packages instead of the conventional <command>make</command>
211 program.</para>
212 <indexterm zone="apache-ant ant">
213 <primary sortas="b-ant">ant</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217
218 <varlistentry id="antRun">
219 <term><command>antRun</command></term>
220 <listitem>
221 <para>is a support script used to start <command>ant</command>
222 build scripts in a given directory.</para>
223 <indexterm zone="apache-ant antRun">
224 <primary sortas="b-antRun">antRun</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="antRun.pl">
230 <term><command>antRun.pl</command></term>
231 <listitem>
232 <para>is a <application>Perl</application> script that provides
233 similar functionality offered by the <command>antRun</command> script.</para>
234 <indexterm zone="apache-ant antRun.pl">
235 <primary sortas="b-antRun.pl">antRun.pl</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="complete-ant-cmd.pl">
241 <term><command>complete-ant-cmd.pl</command></term>
242 <listitem>
243 <para>is a <application>Perl</application> script that allows
244 <application>Bash</application> to complete an <command>ant</command>
245 command-line.</para>
246 <indexterm zone="apache-ant complete-ant-cmd.pl">
247 <primary sortas="b-complete-ant-cmd.pl">complete-ant-cmd.pl</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 <varlistentry id="runant.pl">
253 <term><command>runant.pl</command></term>
254 <listitem>
255 <para>is a <application>Perl</application> wrapper script used to
256 invoke <command>ant</command>.</para>
257 <indexterm zone="apache-ant runant.pl">
258 <primary sortas="b-runant.pl">runant.pl</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="runant.py">
264 <term><command>runant.py</command></term>
265 <listitem>
266 <para>is a <application>Python</application> wrapper script used to
267 invoke <command>ant</command>.</para>
268 <indexterm zone="apache-ant runant.py">
269 <primary sortas="b-runant.py">runant.py</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="ant-star">
275 <term><filename class='libraryfile'>ant*.jar</filename></term>
276 <listitem>
277 <para>files are the <application>Apache Ant</application>
278 <application>Java</application> class libraries.</para>
279 <indexterm zone="apache-ant ant-star">
280 <primary sortas="c-ant-star">ant-*.jar</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 </variablelist>
286
287 </sect2>
288
289</sect1>
Note: See TracBrowser for help on using the repository browser.