Tag Archives: Book

Nexus Book Update: Now Available from Lulu


November 3, 2009 By Tim O'Brien

For those of you interested in a printed copy of our Nexus documentation, you can now purchase a copy of “Repository Management with Nexus” from Lulu for $18.46. Lulu is an on-demand printing service so orders will take around 3-5 days to complete. We’ve decided to start distributing the book at the lowest price possible to make sure that anyone can get their hands on a copy. Let us know if having a printed version is important to you, and also contact us if you have any requests or comments about the printed product.

Read on for a list of changes in the latest Nexus Book release.

Continue reading

New Features in Nexus and Nexus Professional 1.4


October 28, 2009 By Brian Fox

The Nexus Professional 1.4 release offers a wide array of features

  • Proxy Repository Browsing – With Nexus 1.4, the local cache and logical index views have been separated into separate tabs. We found that the previous single tab with a combo box to select the source was confusing. repository-manager_browse-repository-index
  • Publishing Web Sites to Nexus Professional – Nexus Professional 1.4 provides you with a WebDAV endpoint for publishing a web site. You can configure a Site repository that can be used as a publishing destination for project documentation. This means you don’t have to worry about providing some alternate solution to host your reports. The full support of Nexus security applies to this new type of repository, so you can control access at a very fine grained level. sites-new-repo
  • Repository Configuration Changes
    • Fine-grained control of Redeployment for Hosted Repositories: Nexus 1.4 provides administrators a simplied way to control how a hosted repository deals with the redeployment of artifacts. You can configure a repository to allow for the redeployment of previously deployed artifacts, allow for one-time deployment, or to provide a read-only interface for clients.repository-manager_repository-config-3
  • Improvements to the Staging Plugin – The staging plugin had numerous improvements in the 1.4 release to increase usability and provide new functions for staging artifact bundle and verifying that staging repositories follow user configurable rule sets.
    • Support for Staging Rulesets: Nexus Professional 1.4 provides administrators with the ability to define a set of rules to apply to staging repositories before they can be promoted. The 1.4 release can validate that staging repositories contain valid POMs, valid PGP signatures, javadocs, and sources for all artifacts. The rules are pluggable and we expect to add more rules in the near future to support the Apache repository and our OSS hosting repository
    • Support for Uploading Artifact Bundles: The staging plugin now accepts artifact bundle uploads. Artifact bundles are archives which contain one or more associated artifacts, they are used to publish artifacts to the Central Maven repository, and you can use Artifact bundles to validate artifacts uploaded to Nexus.
    • General Usability Improvements in the Staging Plugin: This release of the Staging plugin focused on usability, the Staging plugin is full of improvements that make the user interface more intuitive and easier to use.
  • User Account Plugin – The User Account Plugin in Nexus Professional gives unauthenticated Nexus users the ability to sign-up for a Nexus account. When this feature is enabled, a new user would click a sign-up link, fill out a simple profile form, read a captcha, and then activate a new account via an email confirmation message. Nexus Administrators can configure the default roles and permissions that are granted to newly signed up users. user-account_sign-up-form
  • Repository Summary Panel – The repository summary panel provides statistics and configuration information for a specific repository. Users can consult the repository summary panel to gather the necessary distribution management settings for Maven configuration. repository-manager_summary-hosted
  • Security Improvements – Many improvements to the user security model. In general, it is now easier to configure custom role mappings for externally managed users, and Sonatype has paid close attention to the user interface for managing users and roles. It is easier than ever to configure and secure a Nexus repository.
    • New User Role Tree: Click on a user and then click on the user role tree to see how each role contributes to the permissions for a particular user. repository-manager_security-users-role-tree
    • New User Privilege Trace feature: this features allows Nexus administrators to pinpoint which roles contribute which permissions to a particular user. While the user role tree provides an intuitive interface that lists role in a hierarchy, the privilege trace panel under user administration provides an alternate view. Click on a particular permission to find the roles contribute that permission to a user. repository-manager_security-users-privilege
    • New Role Tree: Since a Nexus role can consist of both roles and privileges, we’ve provided an intuitive tree browser that allows an administrator to browse the hierarchy of roles and privileges associated with a Nexus Role.
    • Fine-grained control of View Repository Privilege: Nexus added the ability to configure a role to prevent users from browsing particular repositories. This is used to provide a cleaner view to users, for example to show them only groups they use via Maven and not confuse them with all the repositories aggregated by that group.
  • Integration with Atlassian Crowd – Atlassian Crowd is a capable user and directory management system that can consolidate authorization and authentication to a central server. Nexus Professional’s Atlassian Crowd plugin provides seamless integration between Nexus and Atlassian’s Crowd server. crowd_server-config-access-settings
  • Automated Nexus Error Reporting – Nexus 1.4 ships with an automated error repository system which can be configured to report Nexus exceptions and errors to the Nexus Issue Tracker. If configured, the system will send data to Sonatype’s Jira instance. The information contained includes the configuration (all passwords are obfuscated) as well as a file list of the repositories and exception traces. All of this data is encrypted using public-key cryptography so only Sonatype can view the contents. We expect that this information will allow us to further refine the stability of Nexus.
  • Upgrades to the Nexus Book
    • A new chapter on Nexus Best Practices.
    • A new chapter on publishing web sites to Nexus.
    • Over 100 corrections and clarifications.
    • Over 80 new figures and diagrams.
    • Addition of a New Nexus Book Cover with the Nexus Logo
    nexus-book-cover-01

Maven: The Definitive Guide 0.8 Published: New Content on Advanced Reactor Options


September 28, 2009 By Tim O'Brien

This release of The Definitive Guide adds a new chapter “Running Maven” with an important new section documenting the Advanced Maven Reactor options –projects, –also-make, –resume-from, and –also-make-dependents. If you are working on a multi-module build and you are interested in finding ways to customize the projects selected for a particular build, these options are invaluable. You can read it by:

Major changes in this version:

  1. A new chapter on running Maven that contains documentation of the Maven Reactor options. Thanks to Dan Fabulich for contributing to this chapter.
  2. Some typo/grammer fixes (from 0.7.3) in Chapter 3 that address some of the proofreading work from Grant Birchmeier via GetSatisfaction.

Continue reading

Maven: The Definitive Guide 0.7.2 Published


September 25, 2009 By Tim O'Brien

This release of The Definitive Guide adds some documentation for a few Maven 2.2.0 features, and it addresses a number of typos uncovered during our continued effort to produce a high-quality, free reference for Apache Maven. You can see for yourself by:

Major changes in this version:

  1. A new chapter on configuring Maven that contains some sections covering default mojo execution settings.
  2. A massive number of spelling errors, grammar errors, and typos fixed. Special thanks to Grant Birchmeier for finding issues in the Preface, Intro, and Installation chapters.

Continue reading

Maven Tips and Tricks: Creating an OSGi Project with Maven


September 22, 2009 By Tim O'Brien

This post is a quick start guide to using the Maven PAX plugin to create OSGi project and start an OSGi runtime environment (Apache Felix). First, use the Maven Pax Plugin from OPS4J, and call the create-project goal. The following command-line will create a multi-module project with a groupId of org.sonatype.mhandbook, an artifactId of osgi-project, and a version of 1.0-SNAPSHOT:

~/examples/osgi $ mvn org.ops4j:maven-pax-plugin:create-project \
  -DgroupId=org.sonatype.mhandbook \
  -DartifactId=osgi-project \
  -Dversion=1.0-SNAPSHOT
[INFO] Scanning for projects...
[INFO] artifact org.ops4j:maven-pax-plugin: checking for updates from central
[INFO] Building Maven Default Project
[INFO]    task-segment: [org.ops4j:maven-pax-plugin:create-project] (aggregator
-style)
[INFO] [pax:create-project]
[INFO] Selecting latest archetype release within version range [1,2)
[INFO] artifact org.ops4j.pax.construct:maven-archetype-osgi-project: checking
for updates from central
[INFO] Using following parameters for creating Archetype: maven-archetype-osgi-
project:1.0.3
[INFO] Parameter: packageName, Value: org.sonatype.mhandbook.osgi-project
[INFO] Parameter: archetypeVersion, Value: 1.0.3
[INFO] Parameter: groupId, Value: org.sonatype.mhandbook
[INFO] Parameter: archetypeArtifactId, Value: maven-archetype-osgi-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: archetypeGroupId, Value: org.ops4j.pax.construct
[INFO] Parameter: basedir, Value: ~/examples/osgi
[INFO] Parameter: package, Value: org.sonatype.mhandbook.osgi-project
[INFO] Parameter: artifactId, Value: osgi-project
[INFO] ********************* End of debug info from resources from generated POM
[INFO] Archetype created in dir: ~/examples/osgi/osgi-project

Once you’ve generated an OSGi project using the Pax Plugin, you will have the following directory structure:

Continue reading