Apache Ivy
Encyclopedia
Apache Ivy is a transitive relation
Transitive relation
In mathematics, a binary relation R over a set X is transitive if whenever an element a is related to an element b, and b is in turn related to an element c, then a is also related to c....

 dependency manager. It is a sub-project of the Apache Ant
Apache Ant
Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....

 project, with which Ivy works to resolve project dependencies. An external XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 file defines project dependencies and lists the resources necessary to build a project. Ivy then resolves and downloads resources from an artifact repository: either a private repository or one publicly available on the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

.

To some degree, it competes with Apache Maven
Apache Maven
Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

, which also manages dependencies. However, Maven is a complete build tool, Ivy focuses purely on managing transitive dependencies.

Features

  • Managing project dependencies
  • XML-driven declaration of project dependencies and jar repositories
  • Automatic retrieval of transitive dependency definitions and resources
  • Automatic integration to publicly-available artifact repositories
  • Resolution of dependency closures
  • Configurable project state definitions, which allow for multiple dependency-set definitions
  • Publishing of artifacts into a local enterprise repository

History

Jayasoft first created Ivy in September, 2004, with Xavier Hanin serving as the principal architect and developer of the project. Jayasoft moved hosting of Ivy (then at version 1.4.1) to Apache Incubator
Apache Incubator
Apache Incubator is the gateway for Open source projects intended to become fully fledged Apache Software Foundation projects.The Incubator project was created in October 2002 to provide an entry path to the Apache Software Foundation for projects and codebases wishing to become part of the...

 in October 2006. Since then, the project has undergone package renaming to reflect its association with the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...

. Package names prefixes of the form fr.jayasoft.ivy have become org.apache.ivy prefixes.

Ivy graduated from the Apache Incubator
Apache Incubator
Apache Incubator is the gateway for Open source projects intended to become fully fledged Apache Software Foundation projects.The Incubator project was created in October 2002 to provide an entry path to the Apache Software Foundation for projects and codebases wishing to become part of the...

 in October, 2007. As of 2009 it functions as a sub-project of Apache Ant
Apache Ant
Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK