...
- No cross-project SNAPSHOT dependencies
- Teams to version and release on own schedule
- Source control central artifact version manifest
- Teams to declare the “correct version” for cross-project use
- TSC to approve version manifest for simultaneous release, e.g. Amsterdam
- Maven plugin to warn against outdated dependencies vs. the manifest
Java (Maven) Artifacts Release Process
- Set up -release-version jobs to deploy candidate artifacts to Staging
- Generates candidate “autorelease-xxxx” directories in Nexus
- Ensure that your version.properties file has the right version number defined for the intended release
- Remove all external SNAPSHOT dependencies
- External = cross-project (including oparent) or 3rd party
- Check version manifest at https://git.onap.org/integration/tree/versions/java-manifest.csv for the right version to use for your cross-project dependencies
- If your upstream cross-project dependencies haven't entered their artifacts in the manifest above, please contact the respective project team to get them to version/release their artifacts and add their entries to the manifest
- Remove ecomp-staging Nexus repo from your local ~/.m2/settings.xml repositories list; all release-versioned artifact dependencies should be fulfilled from the ecomp-releases repo only going forward
- Email helpdesk@onap.org to select a candidate as formal release artifact
- Specify the specific Jenkins build job that generated the selected candidate build, e.g. https://jenkins.onap.org/view/oparent/job/oparent-master-release-version-java-daily/16/
- LF to sign and release the artifacts to Releases repo
- LF to sign and tag the version in Gerrit repo
- Update the declared version numbers for your respective artifacts in the manifest located in the integration repo: https://git.onap.org/integration/tree/versions/java-manifest.csv
- Bump your own version numbers for ongoing development
- SNAPSHOT versions in pom.xml
- Staging/Release version in version.properties
...