Overview
Per the Independent Versioning and Release Process, each team is to declare their release artifact versions in the ONAP version manifest, located at https://git.onap.org/integration/tree/version-manifest/src/main/resources.
The ONAP Integration team has provided a Maven plugin to help individual projects detect when their external (cross-project) dependencies have become out of date. Each project team should use this plugin periodically to identify any out-of-date dependencies that should be upgraded.
The version manifest CSV itself is packaged into the the plugin artifact, so that we can identify the exact manifest version using the plugin version number.
Running the Plugin
To use the latest available Version Manifest plugin, run the following command:
mvn org.onap.integration:version-manifest:version-check
To use a specific version (e.g. 0.1.0-SNAPSHOT) of the Version Manifest plugin, run the following:
mvn org.onap.integration:version-manifest:0.1.0-SNAPSHOT:version-check
These assume that you have the ONAP nexus repos defined in your ~/m2/settings.xml so that Maven can download the plugin artifacts.
Interpreting the Output
Here is a sample output provided by the plugin:
[INFO] --- version-manifest:0.1.0:version-check (default-cli) @ clds --- [INFO] Manifest version: 2017-09-06T20:21:07+0000 6fd61b5fa717862fa554fa4c4a076f56be3aaac1 ssh://ecomp-jobbuilder@gerrit.onap.org:29418/integration [INFO] [WARNING] The following dependencies should be updated to match the version manifest: [WARNING] org.onap.oparent:oparent 1.0.0-SNAPSHOT -> 0.1.1 [WARNING] [WARNING] The following dependencies are missing in the version manifest: [WARNING] org.onap.oparent:checkstyle 1.0.0-SNAPSHOT -> ? [WARNING] org.onap.policy.common:ONAP-Logging 1.1.0 -> ? [WARNING] org.onap.policy.engine:ControlloopPolicy 1.1.0-SNAPSHOT -> ? [WARNING] org.onap.policy.engine:PolicyEngineAPI 1.1.0 -> ? [WARNING]
Line 1 shows the version of the version-manifest plugin that was invoked. Here it is "0.1.0-SNAPSHOT".
Line 2 shows the git commit hash of the manifest version that was incorporated into this specific version of the plugin.
For warnings in the first section "should be updated to match the version manifest", please change your dependency to the version declared in the manifest.
For warnings in the second section "are missing in the version manifest", please contact the upstream team to get them to release their artifacts per Independent Versioning and Release Process and update the version manifest with the updated version numbers.