The Sentinel Express SDK uses Apache Ivy as its “dependency manager”. Ivy is used to describe what modules publish, and depend on. This allows repeatable builds to be made and maintained.
For more about Ivy itself, please see http://ant.apache.org/ivy/.
Here are some details of how Ivy works with the the Sentinel Express SDK:
Modules are built and published into a local filesystem-based repository, inside the user’s SDK install directory. The supplied
build.xmlfiles in a module provide default behaviour.
The supplied Ivy repository information, for publication and resolution, is located in the
The OpenCloud-supplied tools read from the Ivy repository provided with the SDK located in
repositories/opencloud-offline-mirrorand then read/write state in the Rhino SLEE. Once modules have been built and published, the various tools in the SDK can operate on the modules.
The organization of an SDK determines which repositories should be used. Artifacts with an Ivy organization of ‘opencloud’ are resolved from OpenCloud repositories.
The SDK organization is not ‘opencloud’; so when artifacts are published or resolved, they are published to (or resolved) from a repository stored in the user’s own local filesystem.
This filesystem-based repository is stored under the user’s
~/.ivy2/opencloud-local/directory. Artifacts that are published (using the
publish-local-branchbuild targets) live in subdirectories under that directory, based on the Ivy organization of the publisher.
For example, if the SDK organization is “rocket” then artifacts published will reside under the
Ivy uses an artifact cache to speed up builds.
The Ivy cache is located in the
The cache settings can be found in the SDK’s
All OpenCloud supplied artifacts use the “release-cache” settings, and as such are valid for one day within a user’s build environment. This means that the cached artifact can be used for one day.
Here are a couple of Ivy commands that are useful with the Sentinel Express SDK:
|Command||What it does||When you might use it|
removes all artifacts from the cache
when a build is not working for unknown reasons, to reset the cache and try again
produces an HTML report of all dependencies
when something is not retrieving or is being evicted, for some unknown reason
Previous to SDK version 4.1 OpenCloud served repositories for various products from some web sites, using a product called Artifactory. As of SDK version 4.1 these are now included
in the SDK located in