apache-ant-1.10.13

Introduction to Apache Ant

The Apache Ant package is a Java-based build tool. In theory, it is like the make command, but without make's wrinkles. Ant is different. Instead of a model that is extended with shell-based commands, Ant is extended using Java classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree that executes various tasks. Each task is run by an object that implements a particular task interface.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Apache Ant Dependencies

Required

A JDK (Java Binary or OpenJDK-19.0.2) and GLib-2.74.5

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/apache-ant

Installation of Apache Ant

Build a limited bootstrap version of Apache Ant using the following command:

./bootstrap.sh

Now fix a problem when the next command tries to download a file from a problem site:

sed -e 's|ftp.software.ibm.com|anduin.linuxfromscratch.org|' \
    -e 's|software/awdtools/netrexx|BLFS/apache-ant|'        \
    -i fetch.xml 

Download the runtime dependencies using the fetch.xml ant build script:

bootstrap/bin/ant -f fetch.xml -Ddest=optional

Build Apache Ant by running the following command:

./build.sh -Ddist.dir=$PWD/ant-1.10.13 dist

Install, as the root user:

cp -rv ant-1.10.13 /opt/            &&
chown -R root:root /opt/ant-1.10.13 &&
ln -sfv ant-1.10.13 /opt/ant

Command Explanations

bootstrap/bin/ant -f fetch.xml -Ddest=optional: Downloads the missing dependencies to the user's home directory, and copies them into the source tree (in the lib/optional directory, where ant picks them up at build time).

./build.sh -Ddist.dir=$PWD/ant-1.10.13 dist: This command builds, tests, then installs the package into a temporary directory.

Configuring Apache Ant

Config Files

/etc/ant/ant.conf, ~/.ant/ant.conf, and ~/.antrc

Configuration Information

Some packages will require ant to be in the search path and the ANT_HOME environment variable defined. Satisfy these requirements by issuing, as the root user:

cat > /etc/profile.d/ant.sh << EOF
# Begin /etc/profile.d/ant.sh

pathappend /opt/ant/bin
export ANT_HOME=/opt/ant

# End /etc/profile.d/ant.sh
EOF

The above instructions assume you have configured your system as described in The Bash Shell Startup Files.

Contents

Installed Programs: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py
Installed Libraries: Numerous ant*.jar and dependent libraries in $ANT_HOME/lib
Installed Directories: /opt/ant-1.10.13

Short Descriptions

ant

is a Java based build tool used by many packages instead of the conventional make program

antRun

is a support script used to start ant build scripts in a given directory

antRun.pl

is a Perl script that provides similar functionality offered by the antRun script

complete-ant-cmd.pl

is a Perl script that allows Bash to complete an ant command-line

runant.pl

is a Perl wrapper script used to invoke ant

runant.py

is a Python wrapper script used to invoke ant

ant*.jar

files are the Apache Ant Java class libraries