This mackaz.de blog post shows you how to build an application using Maven, with both Java and Scala source files. Your project will be set up so that the Java-classes can access Scala-classes and vice versa.
The project automatically uses the latest Scala 2.8-Snapshot until it’s released (Maven will look for the latest version of the Scala language each time you build it). We will setup the project to use cross-compiling, so the java-classes can access scala-classes and the other way around.
To read the full tutorial, click here.
Sonatype has spent the last few years investing in the Maven ecosystem. We’ve created solid documentation, we’ve invested heavily in making sure that m2eclipse provides solid IDE integration, and we’re about to unleash even more tools that will make it even easier for developers to develop and share software. Here’s an excerpt from Dave Johnson’s entry on converting the Roller project’s build to Maven:
I was a Maven hater and resisted it for a long time but over the years Maven has gotten much better, it’s well supported in IDEs and as far as I can tell, Maven has replaced Ant as the de facto build system for Java projects. If you want new developers be able to easily build, debug and run your code via command or their favorite IDE then Maven is the way to go, and that’s especially true for open source projects like Roller. That’s why I spent a couple of weekends learning Maven and converting Roller’s build process from Ant to Maven (ROL-1849). The process of conversion wasn’t too difficult.
Today Charles Nutter, core member of JRuby, discussed two projects that integrate JRuby and Maven, and the implications of this interoperability. The first is a prototype Maven server that will make any Java library installable as a gem.
Let me repeat that: ANY Java library in the world, installable as a gem. This means you can also use Maven artifacts as dependencies in regular Ruby gems, and it additionally means we won’t have to re-release jar files into their own duplicate gems on the standard repositories. It’s very exciting.
The second project is Polyglot Maven, which was started by Jason van Zyl and the folks at Sonatype.
That project intends to provide standard DSLs for popular JVM languages, allowing you to use those languages in place of the XML-based POM files so many people hate.
To read the entire interview with JRuby’s Charles Nutter, click here.
When you run a repository manager you will likely want to control which artifacts developers have access to. Maybe you also want to try to speed up your builds and reduce the time it takes to find and retrieve the artifacts needed in your build. You might be looking for an easy way to filter out junk artifacts that you don’t want to involve in your build. If you are trying to do any of these things, you’ll need to know how to configure routing rules in Nexus. In this blog post, I walk through routing rules and provide some answers for people interested in using routing rules to gain more control over repositories in Nexus. Continue reading
Roberto Galoppini just published a brief interview with Mark de Visser this morning which covers Sonatype’s open documentation efforts. As someone who has been involved with Sonatype’s open book efforts along with Jason, Brian, John, Jason, Bruce, and our other contributing authors it is interesting to see the traffic and interest that is generated by something as simple as free documentation. I’ve long been a big believer that books about open source software should be as free as the software itself, and I’m also convinced that solid documentation is a necessary foundation for a vibrant open-source community. Without a good “free” book, it is nearly impossible for an open source project to grow a community.