/nexus-public

Sonatype Nexus Repository Manager; Open-source codebase mirror

Primary LanguageJavaEclipse Public License 1.0EPL-1.0

Sonatype Nexus Repository Open Source Codebase

CircleCI Build Status Join the chat at https://gitter.im/sonatype/nexus-developers

Downloadable Bundles

See: https://www.sonatype.com/download-oss-sonatype

Build Requirements

Builds use Apache Maven and require Java 8. Apache Maven wrapper scripts are included in the source tree.

All release versioned dependencies should be available from the Central repository.

For SNAPSHOT sources, SNAPSHOT versioned dependencies may only be available from https://repository.sonatype.org/content/groups/sonatype-public-grid repository.

Configuring Maven for SNAPSHOT Dependencies

Following best practices, the nexus-public POM does not include any root <repositories> elements.

Instead you are advised to configure Apache Maven to point at single repository mirror URL that is a group repository containing both Central proxy repository with Release version policy and sonatype-public-grid with a SNAPSHOT version policy. You can use a repository manager to set up a group repository that contains both of these remotes.

Alternately, add a custom profile to a settings.xml for repository manager development that includes both repositories.

Building From Source

Released versions are tagged and branched using a name of the form release-{version}. For example: release-3.29.2-02

To build a tagged release, first fetch all tags:

git fetch --tags

Then checkout the remote branch you want. For example:

git checkout -b release-3.29.2-02 origin/release-3.29.2-02 --

Then build using the included Maven wrapper script. For example:

./mvnw clean install

For building SNAPSHOT versions, follow the same process, except your build may require access to Sonatype Public Grid to successfully resolve dependencies.

Running

To run Nexus Repository, after building, unzip the assembly and start the server:

unzip -d target assemblies/nexus-base-template/target/nexus-base-template-*.zip
./target/nexus-base-template-*/bin/nexus console

The nexus-base-template assembly is used as the basis for the official Sonatype Nexus distributions.

License

This project is licensed under the Eclipse Public License - v 1.0, you can read the full text here

Getting help

Looking to contribute to our code but need some help? There's a few ways to get information or our attention: