For releases, including milestone and candidate releases, the Maven Central repository is used. There's a common Jenkins job MicroProfile Releases to release any MicroProfile feature.
After a release is uploaded from Jenkins but before a release is published in Maven Central, usually a manual approval is required in Sonatype Nexus. Every committer is eligible to have access to the Sonatype Nexus with permission for the org.eclipse.microprofile artifact group prefix. If you are a committer and don't have access, do the following steps:
- Register yourself in the public Sonatype Jira to get an account for both Sonatype Jira and Nexus
- Create an issue to request access to the org.eclipse.microprofile artifact group prefix and mention that you're a committer to the MicroProfile project. Asa reference, here's the original Jira for the group prefix. Link your new Jira issue to the original for reference.
Sonatype OSS releases repository
For projects using the new release process, you should release against Sonatype. Inheriting from the microprofile-parent will set this up for you, as long as you don't declare a repository section. Otherwise, the repository looks like:
<distributionManagement> <repository> <id>ossrh</id> <name>Sonatype OSSRH - Release Staging Area</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>ossrh</id> <name>Sonatype OSSRH Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <uniqueVersion>true</uniqueVersion> </snapshotRepository> </distributionManagement>
The Jenkins server is setup to be able to push to this repository. A committer would still need to login to Sonatype OSS to release the repository when its ready to be released.
Eclipse releases repository
The Eclipse MicroProfile releases repository is also available but no longer used since we use the Maven Central repository instead. Sometimes non-final versions like milestones or candidate releases were deployed to this repository instead of Maven Central. This apprach is considered obsolete now and all non-snapshot releases should be published to Maven Central.
Sonatype Snapshot Repository
For all builds, the Sonatype OSS snapshot repository is used.
For daily snapshots, the Eclipse MicroProfile snapshot repository is used. Jenkins snapshot jobs are set to deploy to this repository automatically.
All the artifacts are automatically accessible through the global Eclipse snapshot repository. You can add it to maven configuration with the following snippet. As the url, you can also use https://repo.eclipse.org/content/repositories/microprofile-snapshots/ to limit the scope only to MicroProfile artifacts.
<repositories> <repository> <id>eclipse.microprofile</id> <name>Eclipse MicroProfile Repository</name> <url>https://repo.eclipse.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>