1.2. Nexus Repository Manager OSS

Nexus Repository Manager OSS provides you with an essential level of control over the external repositories you use and the internal repositories you create. It provides infrastructure and services for organizations that use repository managers to obtain and deliver software. If you create software libraries or applications for your end users, you can use Nexus Repository Manager OSS to distribute your software. If your software depends on open source software components, you can cache software components from remote repositories.

1.2.1. Features

Hosting Repositories
When you host a repository with Nexus Repository Manager OSS, you can upload components using the interface, or you can deploy components to hosted repositories using a build tool. The repository manager also creates the standard index for all of your hosted repositories, which will allow tools to rapidly locate software components for your developers.
Proxy Remote Repositories
When you proxy a remote repository with Nexus Repository Manager OSS, you can control all aspects of the connection to a remote repository, including security parameters, and HTTP proxy settings. You can configure how long the repository managers stores components, and how it will expire components which are no longer referenced by your build.
Repository Groups
Grouping repositories allows you to consolidate multiple repositories into a single URL. This makes configuring your development environment very easy. All of your developers can point to a single repository group URL, and if anyone ever needs a custom remote repository added to the group, you can do this in a central location without having to modify every developer’s workstation.
Numerous Repository Formats
The concepts of hosted repositories, proxy repositories and repository groups are supported for a number of repository formats such as Maven 2, NuGet, NPM, RubyGems or YUM. This allows you to facilitate one repository manager to bring the same advantages to all developers in a team relying on different technologies and build tools including Apache Maven, Apache Ant with Apache Ivy or Eclipse Aether, Gradle, SBT, .Net, Node.js, Ruby and many others.
Hosting Project Web Sites
The repository manager is a publishing destination for project web sites. While you very easily generate a project web site with Maven, without Nexus Repository Manager OSS or Nexus Repository Manager Pro, you will need to set up a WebDAV server and configure both your web server and build with the appropriate security credentials. With the repository manager, you can deploy your project’s web site to the same infrastructure that hosts the project’s build output. This single destination for binaries and documentation helps to minimize the number of moving parts in your development environment.
Fine-grained Security Model
Nexus Repository Manager OSS ships with a very capable and customizable security framework that can be used to configure user interface as well as component access. Every operation is associated with a privilege, and privileges can be combined into standard roles. Users can then be assigned both individual privileges and roles that can be applied globally or at a fine-grained level. You can create custom administrative roles that limit certain repository actions, such as deployment to specific groups of developers, and you can use these security roles to model the structure of your organization.
Flexible LDAP Integration
If your organization uses an LDAP server, Nexus Repository Manager Pro and Nexus Repository Manager OSS can integrate with an external authentication and access control system. The repository manager is smart enough to be able to automatically map LDAP groups to the appropriate roles, and it also provides a very flexible facility for mapping existing users and existing roles to roles.
Component Search
Nexus Repository Manager OSS provides an intuitive search feature which allows you to search for software components by identifiers, such as groupId, artifactId, version, classifier, and packaging, names of classes contained in Java archives, keywords, and component sha1 checksums. In addition the repository manager can automatically download the index from remote repositories. This allows discovery of components available in these remote repositories without prior downloads.
Scheduled Tasks
Nexus Repository Manager OSS has the concept of scheduled tasks: periodic jobs which take care of various repository management tasks, such as deleting old snapshots, evicting unused items, and publishing repository indexes.
REST Services
Nexus Repository Manager OSS is based on a series of REST services, and when you are using the web front-end UI, you are really just interacting with a set of REST services. Because of this open architecture, you can leverage the REST service to create custom interactions or to automate repository management with your own scripts.
Integration with m2eclipse
When you use Nexus Repository Manager Pro or Nexus Repository Manager OSS as a repository manager it creates indexes that support the Maven integration for the Eclipse IDE -M2Eclipse. They are immediately available to the project creation wizards and are included in search results in the IDE and other operations with dependencies and plugins.