I started the Maven Registry merely as a personal tool, I just needed a better way to search the Maven repository, and the result became an unpolished web application which gets a fair amount of daily traffic (about 1k searches/day). Maven Registry is a stop gap solution, the repository parsing scripts are written in Ruby on Rails so the sytem doesn’t benefit from the libraries that the Maven project is producing that read a POM and take care of interpolating and ineriting values from POMs that extend other POMs. Plus, it is a one man effort, I *could* make Maven registry an open source project, but, honestly, I’m more interested in reaping the benefits of the Maven Repository Manager (MRM) which is now being refered to as Archiva. In other words, Maven Registry is a useful little tool, but, eventually, you should be using Archiva to search the repository, and when i see that Archiva is ready and that someone has created a derivative that allows for public searching, Maven Registry will be no more.
If you have a Maven repository on your local filesystem, and you are interested in directions for taking a prerelease version of Archiva for a test drive, read on.
Test Driving a Prerelease of Archiva
Archiva isn’t really at a release state, but if you are interested in seeing what that Maven team has been cooking up, it’s fairly straightforward. From what I can see, it’s very functional, and follows the same approach as Continuum (plexus, tigris stylesheets(?)).
1. Install Subversion
2. Install Maven 2 (http://maven.apache.org)
3. “svn co http://svn.apache.org/repos/asf/maven/archiva/trunk archiva”
4. “cd archiva”
5. “mvn install” (will download necesary dependencies and plugins)
6. “cd archiva-webapp”
7 “mvn jetty:run”
That’s it, no configuration of anything, this is the fastest way to obtain the archiva code and run the repository manager. Now, once you get Archiva up and running, it will be listening on localhost:9000, if you hit http://localhost:9000 in a browser you will see a form asking you to add a managed Maven repository. At this point you can point it at a local directory and tell Archiva to create an index (I’m assuming a Lucene index).
I’ll be interested in seeing how this application evolves over the next few months, and I’ll be even more interested in seeing how others adapt the reuseable archiva components contained in this multi-project. One thing I’m already anticipating is that someone is going to take the archiva-webapp as a template and take this project in a direction no one has even thought of yet. A customized version of archiva (a “mash-up” if you will) that provides a rich set of search options, visualizations, reports, and APIs is the next logical step.