Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ee4j-build] Purpose of GPG plugin setup?

Some of the components have long and complicated history so they may have some special things in the builds. :)
maven call is something that is special for each of the project so I would not just copy-paste if from another one.
Most important part here is
-s /opt/public/hipp/homes/genie.jsonp/.m2/settings-deploy-ossrh.xml
This maven config file contains setup required for GPG signing and OSSRH deployment.
Its name and path depend on the Jenkins CI instance.
If you rely on maven release plugin, then
release:perform
is the target that does final atrifact build with GPG sign and OSSRH deployment.
If you do it manually, you may need to update version first and then run maven with somethimng like

clean package source:jar javadoc:jar gpg:sign install:install deploy:deploy
Tomas

Dne 26/09/18 v 14:29 Joakim Erdfelt napsal(a):
I feel like if I explain the process it might help others.
the Maven release plugin is the one kicking things off.

(from JSONP-release-job)
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
The "release:prepare" goal does the following. 
  • 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

On Wed, Sep 26, 2018 at 6:40 AM Tom Jenkinson <tom.jenkinson@xxxxxxxxxx> wrote:
Thanks, for the response.

I have something similar to that before on tomcat [1] but I can't see any guidance similar to way they are doing it in any of our resources that I am working from such as the Wiki article [2] or the json-p pom.xml [3]. Are you aware of an example for the EE4J projects to follow? Or is it something related to the plugin itself but then this is still open [4]


On 26 September 2018 at 12:29, Tomas Kraus <tomas.kraus@xxxxxxxxxx> wrote:

GPG is needed for signing artifacts to be released.


Dne 26/09/18 v 11:56 Tom Jenkinson napsal(a):
Hi,

I have requested the GPG as per https://github.com/eclipse-ee4j/jsonp/wiki/JSONP-release-job but in fact I am not sure what I should do with it once I do obtain it as those instructions do not seem to refer to it except to say you need to request it?

Please can someone advise what I should do with it once I receive the plugin?

Thanks,
Tom


_______________________________________________
ee4j-build mailing list
ee4j-build@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ee4j-build


_______________________________________________
ee4j-build mailing list
ee4j-build@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ee4j-build


_______________________________________________
ee4j-build mailing list
ee4j-build@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ee4j-build


_______________________________________________
ee4j-build mailing list
ee4j-build@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ee4j-build


Back to the top