Apache IVY - Terminology


Advertisements

Consider the following example ivy.xml to understand Ivy terminology.

<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
   <info organisation="com.howcodex" module="ivy-test" status="integration">
   </info>
   <dependencies>
      <dependency org="commons-lang" name="commons-lang" rev="2.6" />
   </dependencies>
</ivy-module>

Ivy Terms

Following are the important terms of Ivy Eco-System.

  • Organisation − As name suggests, it refers to the name of the company, individual developer or team name who creates the project or library. For example, com.howcodex.

  • Module − As name suggests, it refers to the reusable unit or module. A module generally have a version attached to it. For example commons-lang, or ivy-test etc.

  • Module Descriptor − Module descriptor refers to ivy.xml file which describes a module. A module descriptor contains the identifier (org, name, branch and version), artifacts published, configurations and dependencies.

  • Artifact − Artifact refers to a single file as deliverable. For example, a jar file. Artifact can be of type: zip, gz etc. Jar, Source Jar, Javadoc Jar are various artifacts of a module.

  • Type − Type identifies the artifact category like jar, war, src, doc etc.

  • Artifact file name extension − Artifact extension like .jar, ,zip, .gz etc.

  • Module Revision − A unique revision number of the module or its version number.

  • Status of Revision − Status of revision indicates the stability of the revision. Following are the important value of status −

    • integration − Represents continuous development, nightly build etc.

    • milestone − Represents a distribution but not finalized.

    • release − Represents tested and completed, a major version.

  • Repository − Similar to Maven repositories, repository represents a distribution site where ivy can search a library, artifacts, modules etc. A repository can be public, private or shared.

  • Ivy Settings − Apache Ivy follows Maven principles and comes with lot of default configurations. Default settings can be overridden by defining a ivysettings.xml file.

Advertisements