apache-ant-1.10.12

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.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Apache Ant Dependencies

Required

A JDK (Java Binary or OpenJDK-18.0.2) and GLib-2.74.0

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

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.12 dist

Install, as the root user:

cp -rv ant-1.10.12 /opt/            &&
chown -R root:root /opt/ant-1.10.12 &&
ln -sfv ant-1.10.12 /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.12 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.12

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