The first significant release of Hudson since the Hudson/Jenkins fork has been released, with a new versioning scheme following OSGi/Semantic Versioning going forward. This includes a new JSR330 dependency injection model to make it easier to run in an OSGi runtime as well as decoupling from specific Hudson annotations.
Late last month Google released Guice 3.0, a Java framework that implements the dependency injection (DI) design pattern. The motivation behind Guice was to make it easier for programmers to write DI code by reducing the need to write boilerplate factories. This article examines the new 3.0 features, loks at how Guice 3.0 supports Spring DI, and introduces Guice 4.1 (a.k.a. MiniGuice).
Whilst Jenkins 1.397 has been released, Sonatype have been pressing on with build and architectural changes to Hudson. In order to facilitate further developer interest, the Hudson codebase will be moved back to GitHub.
The first Jenkins version, 1.396, has been released with upgrade scripts that can help migrate an existing Hudson instance. Meanwhile, Oracle confirms the continuation of commercial Hudson support, and Sonatype puts their weight behind Hudson.
The votes are in, and the community voted to rename Hudson as Jenkins in a 214 to 14 split. The infrastructure is ready but not yet in use, with a migration timeline to be announced in advance to give developers time to migrate to the new organisation. Oracle will continue to support and develop Hudson at the java.net infrastructure, but for how long?
Oracle has responded to the Hudson community about how they can keep control of the Hudson name but let the community do the work. The community has responded with a vote on renaming the Hudson project to Jenkins to escape from Oracle's legal sabre-rattling.
With Oracle having applied for the trademark on the Hudson project name, and potentially putting the future of the Hudson project in future jeopardy, the Hudson developers have proposed renaming the project to Jenkins. The developers are keen to emphasise that this is a rename, not a fork, of the project since the same developers will continue to work on the renamed project.
The Hudson developer community has moved Hudson's source code away from Oracle controlled source infrastructure, and is considering a fork. Oracle is now pleading for this not to happen. How did relations sour, and what is the future of Hudson?
Sonatype have created a mirror of Maven Central in Europe. If you use Maven, and you're based in Europe, you should update your maven settings to point to it for faster asset acquisition.
Sonatype today announced the release of Maven 3, the biggest change since Maven 2 was released in 2005. The release of Maven 3 has been backed up by significant automated testing using open-source projects in the field to try and prevent backward incompatibilities. As a result, Maven 3 should just be a drop-in replacement for Maven 2, with an increase in performance.
With its upcoming 1.5 release, anticipated at the end of April, the JRuby project is continuing to improve interoperability between Java and Ruby by providing integration with Maven, Ant and Rake. Ruby developers will be able to take greater advantage of strengths of the Java platform, while Java developers will find more reasons to mix Ruby tools into their existing projects.
Sonatype, the professional services company that sponsors the development of many key Maven committers, has announced that they will build Maven 3 atop the Guice Dependency Injection (DI) container instead of the Plexus DI container employed for Maven 1 and 2. Backwards compatability will be ensured using a shim to support Plexus.
JRuby's Charles Nutter is making Maven artifacts installable as RubyGems. An alternative to using Maven is JavaGems, built on RubyGems, Bundler and Gemcutter to make it easier to install libraries for Scala, Clojure and other JVM languages. Also, JRuby gets the ability to generate real Java classes.
FlightCaster recently open sourced Crane, a tool for distributing and remotely controlling Clojure instances, currently specialized for EC2. Incanter is a Clojure library and tool that makes R-like statistical computations easy with Clojure. Also: the build and dependency management tool Leiningen 1.0 is now available.