Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "RAP/Maven Central"

< RAP
(Preparation)
Line 26: Line 26:
 
== Preparation ==
 
== Preparation ==
  
* Copy the release versions of the bundles, including source bundles.
+
* Create a directory and copy the release (or milestone) versions of the bundles, including source bundles.
* Create a POM file for every bundle (not for the source bundles). The pom files should have the same name as the jar file, but with the extension .pom instead of .jar.
+
* For every bundle (except the source bundles), create a pom file with the same name as the jar file, replacing the extension .jar against .pom.
 +
 
 +
== Version Numbers ==
 +
 
 +
Instead of reproducing our build qualifiers, we agreed to use only the human-readable version number in maven. For example, 1.5.0 for a release, or 2.0.0-M1 for a milestone, etc. These numbers go into the version element in the pom files.
  
 
== Signing and uploading ==
 
== Signing and uploading ==

Revision as of 15:48, 12 July 2012

Contributing RAP Bundles to Maven Central Repository

The Sonatype OSSRH (OSS Repository Hosting Service) provides a Maven repository hosting service for open source projects and can be used to distribute artifacts to the Maven Central Repository. This guide explains the steps to do so.

The person who uploads bundles has to have a Sonatype user account.

A configuration for org.eclipse.rap has already been created, see OSSRH-3818, so there is no need to open a JIRA ticket anymore, unless to request publish rights for additional committers.

Signing

Jars have to be signed using PGP, this is different from the jarsigner signatures by Eclipse. Thus, the person who signs and uploads the bundles has to create a PGP key. This process is explained in this tutorial.

The userid and passord has to be in the Maven settings.xml file as described in the guide mentioned above. See also the Maven settings reference.

Which bundles?

For RAP 1.5, we upload these three bundles:

  • org.eclipse.rap.rwt
  • org.eclipse.rap.rwt.osgi
  • org.eclipse.rap.jface

Preparation

  • Create a directory and copy the release (or milestone) versions of the bundles, including source bundles.
  • For every bundle (except the source bundles), create a pom file with the same name as the jar file, replacing the extension .jar against .pom.

Version Numbers

Instead of reproducing our build qualifiers, we agreed to use only the human-readable version number in maven. For example, 1.5.0 for a release, or 2.0.0-M1 for a milestone, etc. These numbers go into the version element in the pom files.

Signing and uploading

The following shell script can be used for uploading:

#!/bin/bash

URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
REPO=sonatype-nexus-staging

version=1.5.0.20120612-1458

for id in org.eclipse.rap.rwt org.eclipse.rap.rwt.osgi org.eclipse.rap.jface; do
  mvn gpg:sign-and-deploy-file -Durl=${URL} -DrepositoryId=${REPO} \
    -DpomFile=${id}_${version}.pom -Dfile=${id}_${version}.jar 
  mvn gpg:sign-and-deploy-file -Durl=${URL} -DrepositoryId=${REPO} \
    -DpomFile=${id}_${version}.pom -Dfile=${id}.source_${version}.jar -Dclassifier=sources 
done

echo "Done. Now go to https://oss.sonatype.org/ -> Staging Repositories, and close the new repository."

Back to the top