Apache Ivy Ant Tasks

April 4, 2014 Maithilish

Chapter 2. Apache Ivy Ant Tasks

This chapter explains some of the frequently used Apache Ivy Ant Tasks and Apache Ivy terminologies. We will explore them in detail throughout the tutorial.
Apache Ivy Ant Tasks

Apache Ivy comes with its own set of Ant Tasks which can be called from Ant build file. In this tutorial, we cover following Ivy Tasks

Table 2.1. Ivy Ant tasks

Task Description
Resolve Resolves the dependencies described in ivy.xml and places the resolved dependencies in ivy cache.
Cachepath Constructs an ant path consisting of artifacts in ivy cache which can be referred in other ant tasks through Ant path mechanism.
Retrieve Copies the resolved dependencies from cache to a specified directory
Install Installs a module to a specified repository. In this guide, Install task is used to install libraries from public repository to a local/shared repository
Publish Publish a module to a repository.

Some of the frequently used terms by the Apache Ivy are

Table 2.2. Ivy Terminology

Term Description
Organisation Name of company, individual or team which created the software. Example: org.apache etc.
Module A module is a self-contained, reusable unit of software. Module normally has a version. Example: commons-lang, log4j etc.
Module Descriptor XML file containing the description or metadata of a module. Usually this file is named as ivy.xml
Artifact Artifact is a single file ready for distribution. In Java it is normally a jar file. But it may be of any file type like zip, gz etc. Module contains one or more artifacts. Jar, Source jar and Javadoc jar are examples of artifact.
Type Type denotes the category of artifact. Example: jar, src, source, doc, bundle etc.
Artifact file name Extension Extension of an artifact. Example: jar, zip, tar, tar.gz etc
Module Revision unique revision number or version name of a particular release of the module.
Status of Revision indicates how stable a module revision is. Status of Revision has to be one of the following values.

  • integration: continuous build, a nightly build etc.
  • milestone: distributed but not yet finished fully.
  • release: tested and completed.
Repository Distribution site where ivy can find modules, descriptors and artifacts. Repository can be public, local or shared.
Ivy Settings Apache Ivy comes with a set of default settings, which enables it to run without any configuration by the user. Default settings may be overridden through an XML settings file which is usually named as ivysettings.xml

With that brief introduction to Apache Ivy terminology and Apache Ivy Ant Tasks, we are ready start with Apache Ivy.