Extension: Publish Example Service to Maven

Description

In previous work on Extension Modules and Points we've noted that we will need to publish a Service's relevant classes (at the very least Extension Points and supporting types) to Maven so that an Extension Module may declare that service code as a dependency and compile against it.

For more on Maven JAR requirements: http://central.sonatype.org/pages/ossrh-guide.html

Acceptance:

This story should likely be broken out

QAlity Plus - Test Management

Checklists

Activity

Show:
Paweł Gesek
December 7, 2016 at 12:54 PM

I believe we can take figuring out the signing key we want to use out of this ticket - so I am closing it.

Paweł Gesek
December 7, 2016 at 12:53 PM

Verified that the jars are published to OSS.

Jakub Kondrat
December 1, 2016 at 3:38 PM
(edited)

I've finished configuring openlmis-example job on Jenkins:

  • The snapshots are being published to https://oss.sonatype.org/content/repositories/snapshots/org/openlmis/openlmis-example/

  • The OSSRH credentials as well as GPG key id and password are saved on Jenkins (credentials plugin) and passed as environment variables to the builder.

  • secring.gpg file has to be located under .signing/ in the project root

  • If the credentials/key details are not provided, gradle will skip signing and publishing archives

Could you provide us with the old keyring (secring.gpg)?

Josh Zamor
November 30, 2016 at 6:29 PM

Hi , yes we should sign the jars' on Jenkins. Can we do this with any old cert?

As for the version let's keep it at 0.0.1-SNAPSHOT. No need to associate it with the reference distribution version.

Looking at this issue there are two minor details that I didn't add:
1. The gradle task should only be used by Jenkins (i.e. username and password for OSSRH is only stored in Jenkins). In this way only Jenkins tasks may publish artifacts.
2. there is a difference in publishing snapshots and production releases to OSSRH, and so it follows that Jenkins will need to be able to determine this difference: it may only ever publish snapshots to snapshots (which may overwrite previous), and release to release (and only ever once).

If there are any questions please let me know.

Jakub Kondrat
November 30, 2016 at 4:40 PM
(edited)

Do we want to generate some common key for signing jars on Jenkins? Also which version should we use for openlmis-example: 0.0.1-SNAPSHOT, 1.0.0-SNAPSHOT or 3.0.0-SNAPSHOT?

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Time tracking

1w 1d 30m logged

Components

Sprint

None

Fix versions

Priority

Time Assistant

Created October 31, 2016 at 11:51 PM
Updated April 4, 2018 at 6:02 PM
Resolved December 7, 2016 at 12:54 PM