I feel like if I explain the process it might help others.
the Maven release plugin is the one kicking things off.
mvn -U -C -s /opt/public/hipp/homes/genie.jsonp/.m2/settings-deploy-ossrh.xml \
${MVN_ARGS} \
-Prelease,!jdk9-all \
-DskipTests \
-Drelease.arguments="-s /opt/public/hipp/homes/genie.jsonp/.m2/settings-deploy-ossrh.xml -Prelease,!jdk9-all -DskipTests -Dspec_version=${SPEC_VERSION} -Dimpl_version=${RELEASE_VERSION}" \
-DreleaseProfiles='release' \
-Dtag="${RELEASE_TAG}" \
-DreleaseVersion="${RELEASE_VERSION}" \
-DdevelopmentVersion="${NEXT_VERSION}" \
-Dspec_version=${SPEC_VERSION} \
-Dimpl_version=${RELEASE_VERSION} \
release:prepare release:perform
- Update the project <version> entries to the -DreleaseVersion="${RELEASE_VERSION}" information
- Commit these <version> changes
- Do a test build with the "preparationGoals" configuration (default in plugin of "clean verify")
- Creates a git tag with the -Dtag="${RELEASE_TAG}" information with the current state of the local repo.
The "release:perform" goal does the following.
- Checkout the tag
- Do a release with the "goals" configuration (default of "deploy") using the release profile enabled: -DreleaseProfiles='release'
Here's where things can get confusing.
The default ee4j parent pom has a release profile already at ID "oss-release"
The standard "oss-release" profile performs the "gpg:sign" goal that
oss.sonatype.org (and maven central) requires.
BUT the JSONP release job doesn't seem to use the "oss-release" profile.
It has been specifically setup to use "release" profile (different profile name).
And uses the nexus staging plugin??
This, I think, is where the confusion come in.
- Joakim