Ivy Protocol
Warning
This documentation is not yet backed by an implementation!!!!
Ivy protocol enables you access to Ivy repository artifacts based on well organization, name, revision and type.
In the process of resolving the artifact the handler will make use of a local repository, shared repositories and any set of remote repositories.
Syntax ( see #examples )
ivy-uri := 'ivy:' [ ivy-settings-url '!' ] organization '/' name '/' revision [ '?' artifacts ] ] ivy-settings-url := < rfc2396 uri > ; an url that points to a Ivy Settings file organization := < ivy organization > ; organization of the Ivy module name := < ivy module name > ; name of the ivy module revision := < ivy version > ; revision of ivy module artifacts := artifact [ ',' artifact ] ; list of artifacts in the module artifact := artifactName ['#' extension] [ '@' type ] ; the module artifact type := < ivy type> ; type of ivy artifact extension := < ivy extension > ; The extension of the ivy artifact.
Configuration
The service can be configured in two ways: via configuration admin if available and via framework/system properties where the configuration via config admin has priority.
Option key |
Description |
---|---|
org.ops4j.pax.url.ivy.settings |
optional; The URL of the ivy-settings.xml file. Default ./ivy-settings.xml |
org.ops4j.pax.url.ivy.localRepository |
optional; the path to local repository directory; see below |
org.ops4j.pax.url.ivy.sharedRepository |
optional; the path to shared repository directory; see below |
org.ops4j.pax.url.ivy.repositories |
optional; a comma separated list for repositories urls; see below |
org.ops4j.pax.url.ivy.proxySupport |
optional; true/false if the proxy support is enabled . Default true. |
Ivy Settings.xml
Ivy Settings file is required to resolve artifacts. This can either be specified in the URL itself, or via a property see above
Local repository
The local repository will be resolved by using the following resolution:
- looks for the #configuration property
org.ops4j.pax.url.ivy.localRepository
; - falls back to
${user.home}/.ivy/repository
.
Shared Repository
In Ivy, teams are likely to share a repository to avoid that every team member is hitting the Internet for every artifact used. It is also common that the access to the external/Internet repositories are disabled, and it is expected that the resolution is kept on the intranet, for instance goes to a network-mounted file system.
The local repository will be resolved by using the following resolution:
- looks for the #configuration property
org.ops4j.pax.url.ivy.sharedRepository
; - falls back to
${user.home}/.ivy/repository
.
Repositories
Repositories is a comma separated list of repositories to be used. If repository access requests authentication the user name and password must be specified in the repository url as for example http://user:password@repository.ops4j.org/ivy.
Repositories resolution:
- looks for the #configuration property
org.ops4j.pax.url.ivy.repositories
.