Note This section explains Apache Ivy and how to use it with the Sentinel Express SDK.

What is Apache Ivy ?

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

Use of Ivy in the Sentinel Express SDK

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.xml files in a module provide default behaviour.

  • The supplied Ivy repository information, for publication and resolution, is located in the build/ivy directory.

  • The OpenCloud-supplied tools read from the Ivy repository provided with the SDK located in repositories/opencloud-offline-mirror and 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, or publish-local-branch build 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 ~/.ivy2/opencloud-local/rocket directory.

Cache settings

Ivy uses an artifact cache to speed up builds.

The Ivy cache is located in the ~/.ivy2/cache directory.

The cache settings can be found in the SDK’s build/ivy/ivysettings.xml file.

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.

Useful Ivy commands

Here are a couple of Ivy commands that are useful with the Sentinel Express SDK:

Command What it does When you might use it

ant ivy-cleancache

removes all artifacts from the cache

when a build is not working for unknown reasons, to reset the cache and try again

ant ivy-report

produces an HTML report of all dependencies

when something is not retrieving or is being evicted, for some unknown reason

SDK Ivy Repository

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 repositories/opencloud-offline-mirror.

Previous page Next page