| 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
repository for downloading Codehaus snapshots | |
repository for deploying snapshots | |
https://nexus.codehaus.org/service/local/staging/deploy/maven2/ | repository for staging releases |
repository where staging promotion will go, this repository is synced to Maven Central | |
repository group which contains snapshots and releases |
4. Prerequisites
see Client System Prerequisites
5. Central Sync Requirement
6. POM and settings config
Configure your POM to inherit from Codehaus Parent POM:
| Code Block | ||
|---|---|---|
| ||
<project>
...
<parent>
<groupId>org.codehaus</groupId>
<artifactId>codehaus-parent</artifactId>
<version>4</version>
</parent>
...
</project>
|
Configure your POM's SCM element like this:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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 | ||
|---|---|---|
| ||
If you don't use the standard svn layout , you must configure tagBase of maven-release-plugin. |
or
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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 | ||
|---|---|---|
| ||
<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 | ||
|---|---|---|
| ||
If you don't use the standard svn layout , you must configure tagBase of maven-release-plugin. |
7. Publish Snapshots
8. Stage a Release
see Stage a Release
9. Release It
10. Help
- IRC irc.codehaus.org #mavencentral, ping juven
