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