Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

1. Introduction

Codehaus uses Sonatype Nexus to provide Maven repository hosting service: https://nexus.codehaus.org/. You can deploy snapshots, stage releases, and promote your releases which will be synced to Maven Central. All you need to do is to create a JIRA request and make some POM/settings configuration. This document will guide you step by step.

2. Create a JIRA ticket

Go to Haus Chores and create a Task with:

  • Project: Haus Chores
  • Component: Nexus
  • Description:
    • your project URL
    • maven groupId of your project (one or more)
    • SVN URL of your project

We will update the ticket when Nexus repository is prepared for you.

3. Maven Repositories

http://nexus.codehaus.org/snapshots/

repository for downloading Codehaus snapshots

https://nexus.codehaus.org/content/repositories/snapshots/

repository for deploying snapshots

https://nexus.codehaus.org/service/local/staging/deploy/maven2/

repository for staging releases

https://nexus.codehaus.org/content/repositories/releases/

repository where staging promotion will go, this repository is synced to Maven Central

https://nexus.codehaus.org/content/groups/public/

repository group which contains snapshots and releases

4. Prerequisites

see Client System Prerequisites

5. Central Sync Requirement

see Central Sync Requirements

6. POM and settings config

Configure your POM to inherit from Codehaus Parent POM:

Code Block
xml
xml
<project>
  ...
  <parent>
    <groupId>org.codehaus</groupId>
    <artifactId>codehaus-parent</artifactId>
    <version>3</version>
  </parent>
  ...
</project>

Configure your POM's SCM element like this:

Code Block
xml
xml
borderStylesolid
titleSubversion
<project>
  ...
  <scm>
    <connection>scm:svn:http://svn.codehaus.org/modello/trunk</connection>
    <developerConnection>scm:svn:https://svn.codehaus.org/modello/trunk</developerConnection>
    <url>http://svn.modello.codehaus.org/browse/modello/trunk</url>
  </scm>
  ...
</project>
Note
titleNote

If you don't use the standard svn layout , you must configure tagBase of maven-release-plugin.

or

Code Block
xml
xml
borderStylesolid
titleGit
<project>
  ...
  <scm>
    <connection>scm:git:git@github.com:juven/git-demo.git</connection>
    <developerConnection>scm:git:git@github.com:juven/git-demo.git</developerConnection>
    <url>git@github.com:juven/git-demo.git</url>
  </scm>
  ...
</project>

Configure your Maven settings.xml:

Code Block
xml
xml
<settings>
  ...
  <servers>
    <server>
      <id>codehaus-nexus-snapshots</id>
      <username>your-xircles-id</username>
      <password>your-xircles-pwd</password>
    </server>
    <server>
      <id>codehaus-nexus-staging</id>
      <username>your-xircles-id</username>
      <password>your-xircles-pwd</password>
    </server>
  </servers>
  ...
</settings>
Note
titleNote

If you don't use the standard svn layout , you must configure tagBase of maven-release-plugin.

7. Publish Snapshots

see Publish Snapshots

8. Stage a Release

see Stage a Release

9. Release It

10. Help

  • IRC irc.codehaus.org #mavencentral, ping juven