apache-ant-1.10.5

#### Beyond Linux® From Scratch - Version 2019-02-27

### Chapter 13. Programming

- Prev

  Configuring the JAVA environment

- Next

  Networking

- Up
- Home

# apache-ant-1.10.5

## 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-8.4 platform.

### Package Information

- Download (HTTP): https://archive.apache.org/dist/ant/source/apache-ant-1.10.5-src.tar.xz

- Download MD5 sum: 0e52ab84fdfae1c3a675d2746409a52c

- Download size: 4.0 MB

- Estimated disk space required: 186 MB

- Estimated build time: 0.4 SBU (excluding download time)

### Apache Ant Dependencies

#### Required

A JDK (Java Binary or OpenJDK-11.0.2) and GLib-2.58.3

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

## Installation of Apache Ant

First fix an incompatibility issue between the documentation standard used in the build tree, and the one expected by OpenJDK-11.0.2:

    sed -i 's/--add-modules java.activation/-html4/' build.xml

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

Install, as the `root` user:

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

## Command Explanations

bootstrap/bin/ant -f fetch.xml -Ddest=optional: Downloads the missing dependencies to user's home directory, and copy 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.5 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 instrutions 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 dependant libraries in `$ANT_HOME``/lib`
Installed Directories: /opt/ant-1.10.5

### 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.

Last updated on 2019-02-18 01:33:36 -0600

- Prev

  Configuring the JAVA environment

- Next

  Networking

- Up
- Home