Nexus Indexer 2.0: incremental downloading
The nexus indexer has become fairly popular, and is the de-facto standard when it comes to indexing maven repositories (including the big boy, central). As repositories grow and grow, the index of artifacts grows right along with them. What was initially a small few hundred kilobyte file, will grow into 20-30 megabytes or more over time. Seeing as the index is the gateway into the contents of a repository (not for maven mind you, but for users), this is the most downloaded file, and a 20mb file being downloaded by thousands of people every day, the bandwidth costs can get pretty high. To combat this, we have introduced incremental index handling into the nexus indexer. There are 2 parts to this, building the incremental indexes for consumers to download, and retrieving the incremental indexes from a provider. (more…)
Maven Book 0.5: Flex Chapter & PDF Improvements
We just cut the 0.5 Edition of the book… Download the PDF or Read the Book Online.
- More readable PDF content. – Typography makes a huge difference to the readability and usability of a text like Maven: The Definitive Guide, and this edition marks a series of editions that are going to focus on bringing the PDF format of this book up to the level of the printed, post-production version of the book. In this release:
- Font was reduced to 11 point from 14 point. In addition to saving a few trees, this makes the book easier to read.
- Page margins reduced to 0.3 inches. Again, if you look at an old version of the PDF, you’ll see that the margins were all over the place and the page wasn’t even centered.
- More sophisticated table layout. As this books develops, I expect it to grow more “useful” tables than we have now. The FlexMojos chapter is full of long reference tables for each plugin goal, and we’re stating to get more sophisticated about table layout in the PDF.
- First Version of FlexMojos Chapter Completed – Chapter 20 covers the FlexMojos plugin and how you can use Apache Maven to compile, document, test, and build Flex applications. FlexMojos just recently had a 3.2.0 release which added more support for unit testing, and the next FlexMojos release 3.3.0 is going to emphasize unit test coverage reports. The first draft of the Flex chapter covers everything you need to know about configuring your development environment for Flex to using the FlexMojos archetype to start a new Flex project in Maven.
Maven: Integration and Distributed, Open Innovation
Brian Murphy wrote a long blog post about the PAX Plugin which provides a good example of the power of Maven to act as an integration “bridge” between a number of unrelated technologies. In this post, Brian is using the PAX Maven Plugin from ops4j together with the gmaven-plugin and the maven-scala-plugin, he concludes with praise for Maven as an essential time saver:
“This ended up being a much longer article than I anticipated but we’ve covered a lot of ground. Maven has worked it’s dependency voodoo which saved an enormous amount of time downloading jars and messing with classpaths. We’ve seen how the PAX toolkit from OPS4J makes creating, modifying and provisioning OSGi bundles a breeze. While the actual code examples were pretty trivial, we successfully managed to code up bundles in Java, Scala and Groovy. I think this displays a lot of the power that is offered by OSGi and points to a bright future for enterprise development on the JVM.”
FlexMojos Chapter Focus of 0.5 Maven Book Release

Just wanted to give people a heads up. The FlexMojos chapter is going to be the focus of the 0.5 release of the Maven book. I got a quick request yesterday for the most recent documentation for FlexMojos 3.1.0, and it motivated me to spend some time on our Flex chapter. If you are a reader, and you are looking for more documentation, you should know that you have two options to help drive our priorities for the Maven book. You can:
GetSatisfaction is a bit more community oriented and personal, while JIRA is more direct. If you are already participating in Sonatype’s open source development effort, you likely already have a JIRA account with us. Whatever you do, don’t hesistate to let us know what documentation you need. We’re listening.
Reading Our Work in Progress
The most recent build from the master branch of the book’s GitHub project is always available here. This version of the book is updated automatically whenever changes are pushed to master. The build process is currently running on a Hudson instance that is not visible to the public, but I have a JIRA task created to move this to the public grid.sonatype.org/ci instance of Hudson. The book build currently takes about 30 minutes (eek!) this is mainly due to the fact that we build all of the languages at once and there are some lingering issues with the lifecycle that cause certain tasks to run twice. Note: The PDF of the staged version of the book is not available, if you download the PDF, you’ll be downloading the released version. (If you really need the PDF of the staged version, you are welcome to build it yourself.
The 0.5 release of the book is in progress. I’d say we have about two or three days between now and the formal release. You can take a look at the remaining issues in our JIRA instance here. What remains for the 0.5 release is some documentation about Flex Unit Testing , Flex Code Coverage Tools, and a few other FlexMojos goodies. Since the 0.4 release earlier this week, we’ve updated the FlexMojos documentation to reflect the latest Flex archetypes and add some essential documentation about configuring your environment for unit testing: here is the latest staged version of Chapter 20
Did I mention that you should really sign up for our Chicago training yet? Because, if I didn’t, I should have.
The Ulitimate Java Build System
Christopher Judd places Nexus, Hudson, and Maven in his “Ultimate Java Build System” stack:
“Now after all these years, I think I found the right solutions for Enterprise Java Builds. The solution involves 5 open source projects: Maven, Subversion, Hudson, Nexus, Sonar.”
We’re convinced that Nexus provides the best option for repository management, and as we continue to invest in the core of Nexus, it is good to see that people are starting to notice how essential a repository manager is during enterprise software development. On Nexus, Judd writes,
“[Nexus] enables you to publish both release and snapshot artifacts, provides different views into the respository and includes searching for artifacts even their contents. In addition, it can act as a proxy to external public Maven repository providing traceablity into where artifacts came from as well as improve download performance. Both developers and Hudson can use Nexus to keep their local artifacts up to date providing continious integration for everybody all the time.”
If you are interested in Nexus, Download Nexus Open Source or Evaluate Nexus Professional. If you are developing software in an enterprise, we recommend taking a look at the feature-set of Nexus Professional. Pro adds features like Staging, Procurement, LDAP integration, and P2 support.