Apache Maven 2.0.11 Released
Just on a year since the Maven 2.0.10 release, Maven 2.0.11 has been announced. This release was to get a number of fixes that had already been applied to that branch out there for those who continue to use Maven 2.0.10 or below.
Note: as mentioned in the announcement, Maven 2.2.1 is still the most current release that all Maven users should upgrade to, as it contains all of these fixes and more – such as great new features like password encryption, reactor build options, and parallel artifact resolution.
As usual, Maven can be downloaded from Apache and its mirrors. The release contains 37 fixes and improvements, which are listed in the release notes.
It’ll be interesting to see what uptake there is on the release. While there were certainly still some testers around when it came up on the list, the poll I ran last July showed that well over half of the readers of this blog had already moved on to newer versions 2.1.0 and above.
It is nearly 4.5 years since the last time I pulled the trigger on a release of Maven itself (that being Maven 2.0). With further releases in 2.0.x now unlikely, it seems I get to bookend the series I put so much effort into. With a possible Maven 2.2.2 (and of course 3.0) on the horizon, it’ll be great to move on and hopefully start to implement some long lingering plans and ideas.
Filed under: Apache, Maven, Syndicated Tagged: announcement, releases
Selenium Maven Plugin 1.0.1 Released
The Selenium Maven plugin 1.0.1 has been released, to correspond with the recent Selenium 1.0.2 release. Mac & Firefox users rejoice!
Here are the changes that were included:
- [MSELENIUM-59] – Selenium server could not be stopped from stop-server goal
- [MSELENIUM-60] – Fails to run with Firefox 3.5 on OS X 10.6.2
- [MSELENIUM-58] – docu is outdated: there is no parameter multiWindow anymore
Filed under: Mac OS X, Maven, Syndicated, Testing Tagged: announcement, firefox, Maven, mojo, plugins, releases, selenium
Interesting interactions between Google Talk, Facebook Chat, and Adium
Late last week, I briefly gave Facebook Chat’s Jabber support a try, since there are still a few contacts on there that don’t regularly run another type of IM. As I altered the groups of some of the contacts, I noticed that Adium seemed to be trying to set it on the Google Talk account instead. It seemed a little confusing, but no ill effects.
Strangely today though, I started receiving bounces to my GMail account:
Subject: Delivery Status Notification (Delay)
This is an automatically generated Delivery Status Notification
THIS IS A WARNING MESSAGE ONLY.
YOU DO NOT NEED TO RESEND YOUR MESSAGE.
Delivery to the following recipient has been delayed:
uXXXXXXXXX@chat.facebook.com
Message will be retried for 1 more day(s)
Technical details of temporary failure:
DNS Error: Could not contact DNS servers
—– Original message —–
…
Subject: Brett Porter wants to chat
———————————————————————–
Brett Porter wants to stay in better touch using some of Google’s coolest new products.
…
Er, I want to do what?
I’m not sure if this is Adium messing up and trying to subscribe my Facebook contacts via Google Talk, or something intrinsic to how Jabber works with multiple servers, but it seems strange that Google would send out that sort of request on my behalf in this way. On the GMail interface you need to click through a few times to try and invite someone to Chat. I’d be interested in figuring out what is going on here.
Regardless, I’d already found that having all my Facebook contacts in my IM client at once is not really something I need and disabled the account. Besides, it was becoming disconcerting to see how much time my contacts (that aren’t using it from their IM) spent logged in to Facebook through the day!
Filed under: Uncategorized Tagged: adium, facebook, google, jabber, spam
Updated Multi-module Support for Maven Release Plugin
Last week Dennis started things moving to have another release of the Maven Release Plugin. The release process should start very soon, so please join us on dev@maven.apache.org to help test it!
This is certainly a nice one to have out the door, not only because of the length of time since the last release but because it fixes some important bugs (Subversion 1.6 support for starters), and improves multi-module support.
Having been bitten by the latter category myself very recently I took the opportunity to get a couple of changes in.
Support for flat directory multi-module projectsThis highly requested support was actually added by Deng way back in May last year, but it was only recently that I started using the new version of the plugin and discovered a small corner case I jumped in and made a couple of improvements and fixes.
While I would always recommend using a typical hierarchical Maven multi-module project, there are a number of existing projects using the flat structure, particularly in non-Java environments. It’s good that the release plugin can now support anything with a common trunk.
This means that projects like the following will now release correctly (run from the parent directory):
. |-- release-parent | `-- pom.xml |-- release-module2 | `-- pom.xml `-- release-module1 `-- pom.xml Not requiring artifacts to be in the local repository before releasingThis controversial issue has popped up a number of times and proven to be a real nuisance in releases, where a multi-module project needed to be built locally before it can be released (including the preparation test, that makes 3 full builds!), or at best spouted a large number of warnings about missing dependencies on the artifacts it was yet to build.
In the end here we decided to revert to the original behaviour and accept the limitations that came with, while making the typical release faster and easier. The release:prepare-with-pom goal has been added to cater to the use case for which the dependency resolution was put in place originally. With this intended to be the 2.0 release of the plugin, we can stick to this behaviour going forward.
In the future, Maven 3.0 has added additional capabilities for plugins to operate with their modules without building them first, which will allow a unified and enhanced release:prepare goal once more, but in the mean time we’ve opted to put in place the best solution for the majority of Maven users today.
Filed under: Java, Maven, Syndicated Tagged: eclipse, Java, Maven, multimodule, plugins, release, subversion
Apache Archiva 1.3 release and what’s next
In the midst of a busy couple of weeks, I neglected to post about the Archiva 1.3 release that was announced recently (and on that topic, Continuum has posted a new beta release as well).
The Archiva release focused mostly on bugfixes (particularly for indexing and LDAP), but we decided it was worthy of a version bump after the addition of an upload audit logging feature and some decent performance improvements. It’s an easy upgrade for 1.2 users – if you keep your configuration separate, then just unzip the new version and start it up using the same environment variables as you would the previous version.
Archiva is also easy to try out if you already have a Maven repository – its primary storage is the filesystem in a Maven repository format, so you can point it at a copy and everything will be available straight away (gradually indexing resources for access through the UI in the background).
As for what’s next – while it’s still to be put to vote, I hope that the next version will be based on the work I started again last year and have had in mind since almost the beginning of the project. This focuses on two underlying aspects: the removal of the archiva database requirement and the transformation to be an extensible metadata repository.
I always refer to the database removal as “Back to the Future”, since it is similar to the design pre-1.0 where Lucene was used to store all of the information, however in this case I had the opportunity to learn from our experiences and build on a more appropriate foundation:
- A central, extensible metadata model that allows storage of any different repository , artifact, or resource type;
- Delegating repository requests, to better facilitate repository grouping and proxying when configured, and to allow metadata to be regenerated from the storage on the fly;
- Decomposing functionality into plugins so that optional portions can be removed. Plugins operate on metadata, certain repository events and a few other extension points. This remains a work in progress, but the aim is to allow reducing the deployable application to as little as a simple maven proxy cache for your local machine with a very low footprint, and to make it easy and robust to write and use a combination of different plugins.
At the moment, these changes are all under the hood – apart from configuration there is no visible difference other than the number of bugs that got removed along the way! However, the decoupling will make way for easier development of new features and the opportunity for much needed advances in the UI.
Filed under: Archiva, Syndicated Tagged: announcement, Archiva, Continuum
Eclipse IAM 0.11.0, Archiva 1.3, Continuum 1.3.5
This is definitely release week! After Archiva 1.3 and Continuum 1.3.5 beta, I've just pushed the new release of Eclipse IAM 0.11.0:
This new version includes most notably
- WAR overlay support
- Improved WAR and EAR WTP facets configuration
- bugfixes
P2 Update site is published at http://q4e.googlecode.com/svn/trunk/updatesite-iam/
Ganymede users (Eclipse 3.4) should make sure they have added all the update sites listed in the installation instructions. If P2 complains about missing dependencies, check the update sites again.
Adopters of the latest and greatest Eclipse Galileo can install from the update site as usual.
If upgrading from Q4E 0.8.1 or earlier, some extra steps must be followed
The list of changes is available on the eclipse wiki.
Note that this is not an official Eclipse IAM release to allow our users to enjoy the progress made until we complete the move to the foundation and clear all the IP issues involving the maven embedder.
Apache Maven 2 Effective Implementation book (final version) now available!
After almost a year of writing and revising, our book is finally finished and published The book is about Apache Maven and centered on a "best practices" approach. It is not the usual how-to books but more on effective usage and application of Maven in your projects/applications. You will also learn how to use Maven together with Apache Continuum (continuous integration server) and Apache Archiva (a repository manager) and use these tools to your advantage.
To learn more about these projects, visit:
You can grab a copy of the book at www.packtpub.com/apache-maven-2-effective-implementations/book. Grab a copy now while it’s still on sale
(Thanks again to everyone who helped us out and supported us with this book!)
