There are many things, mostly implementation-related, that can be blamed on Maven, but I think most people agree on the fact that the POM concept (a declarative model of your project) is a good thing. Among other things, it allows to run a new plugin often with a minimum of configuration, or no configuration at all. For instance, a few days ago I was pointed to the Clirr plugin, a tool that...
on Feb 21, 2010
I've finally managed to produce the Windows installer for Hudson, as originally raised by Håkan Reis. Please try it out and let me know how it works.
This one took much longer than the installer for any other platforms, and while I normally think of Microsoft technologies very highly, Windows installers and WiX are a real disappointment. For example, you write the description of the...
on Jan 26, 2010
Given that Maven is much more complex than Ant, and it dinamically resolves dependencies, people are right to be concerned with having deterministic builds. But the vast majority of problems are solved by just three good practices:
version everything, including all Maven plugins
run once in a while mvn dependency:go-offline, that will download all the required stuff
routinely use mvn -o (offline...
on Jan 7, 2010
In the past weekend I've been able to improve the settings for
automated Maven releases that I've
blogged about about ten days ago. Peter Mount complemented
the information with some practical examples on how to use
that stuff invoking Maven with the proper parameters. I've been able to
significantly clean up and improve the Maven configuration, so now a
staged release can be performed...
on Nov 9, 2009
After the latest upgrade of my Hudson instance, I noticed that a new option in the security matrix appeared: it allows anonymous visitors to have a (read only) look at a job configuration, if the administrator allows it. I think it's a great feature (that I was asking for some months ago), as it allows to share our knowledge about our favourite CI tool.
So I've opened most of my jobs and you can...
on Nov 9, 2009
As a programmer, I spend a lot of time fixing bugs. And a considerable portion of that is the time spent on reproducing a problem. Here is how a typical such session goes. Your user reports that your program doesn't work and throws such and such exception. Or given the symptom he's describing, you suspect some "if" statements to be evaluating to false.
If you are lucky and experienced,...
on Nov 8, 2009
Today I've made some improvements with my Mercurial + Maven + Hudson
setup - and reached a new level of karma, being able to do automated
Let's go in order. First let me recap what happens with the Maven
release plugin (mvn release:prepare release:perform) and Mercurial:
A check is performed that there are no uncommitted changes
and a build is performed as a validity proof.
on Oct 29, 2009
I'll be doing a webinar and Q&A sessions on Hudson tomorrow.
One of the problems of doing a presentation for the general audience is that I normally can't spend too much time on the advanced topics. So in this webinar, I'll be talking about several topics that are oriented more toward people who have already evaluated Hudson and/or are already deploying Hudson.
The topics include:...
on Oct 13, 2009
One of the awesome things about Hudson is the sheer number of plugins available. In fact, if you use Hudson, make a habit of checking out the list of available plugins every month or so - there's bound to be something new that you could use! In this article, I explore two relatively new ones: the Setenv plugin and the Description Setter plugin.
The Setenv plugin
Many build scripts use environment...
on Oct 6, 2009
During my last years before getting the master degree, I have been working at a free flight simulator. It run under DOS and was named FGFLY. It was written in C++, initially Borland C++ and later Watcom C++, in order to use a memory extender to bypass the infamous 640k limit. At the time I just was a student able to earn a few money with programming, and couldn't allow to spend a lot in hardware...
on Sep 18, 2009
I recently got pointed to that link: http://java.dzone.com/news/ant-18-scanning-leaves-171
I read the news with some pleasure reminding me that I still like Ant based builds very much over Maven in many cases.
Of course there are a lot of well maintained projects on the web that work very well with Maven. You never know how many enthusiasts-hours have been spent to make that happen. However, in...
on Feb 17, 2010
I was going through the documentation of Spring Roo, version 1.0.1 while preparing a talk for JDC 2010 about the Spring Roo .. No need to mention the Roo is awesome, amazing and not Magic :-)
Ben Alex , Stefan Schmidt did a great job really in this project. Smart architecture!
"The automated startup-time scan is also very useful as you upgrade to newer versions of Roo. Often a new...
on Feb 13, 2010
When I started the mavenization of my projects, in July, I really didn't
figure out that it would have been such a painful and long process. It
is literally consuming me - also because I'm longing to see the end of
the conversion, so I can resume the development.
The first mavenized projects, BetterBeansBinding,
were reasonably easy, also considering that I had to...
on Sep 25, 2009
In the past few month several Java EE 6 related JSRs (Java Specification Requests) have been finalized. The final ballot for them ended on November 30 and all were approved. Today, December 10, 2009, Java EE 6 and GlassFish v3, THE reference implementation of Java EE6, are released.
Four and a half year after the release of Java EE 5 we enter the next Java EE era. GlassFish v3 is the first...
on Jan 6, 2010
NetBeans 6.8 released coordinated with GlassFish v3 today. NetBeans 6.8 can be considered a fine step ahead of NetBeans because Sun is officially supporting the NetBeans RCP platform as a product from now on.
NetBeans 6.8 features are as follow:
Java Enterprise Edition 6 support
Web Projects with JavaServer Faces 2.0 (Facelets)
JavaFX 1.2.1 support
Kenai.com: Connected Developer
on Dec 17, 2009
As the year draws to a close, I wanted to give everyone a heads-up about some of the Wakaleo training sessions already lined up for 2010.
The next big training dates are in Europe - in collaboration with Skills Matter, I will be running the Java Power Tools Bootcamp in London (February 15-19) and Paris (February 22-27), and then in Wellington in March (March 22-26). I'm also lining up sessions...
on Dec 21, 2009
With the newcomer Vaadin module I
updated the Arena Project
script to support builds on Windows platform. Not a big deal in terms of
configuration but it is worthy a notification in case you had
tried to build the project before and got frustrated with the Platform
Classifier restricted to the UNIX-family.
Why to use Platform Classifiers? The lack of a
good Maven support for the Glassfish...
on Nov 9, 2009
In this two part article, I will explain how to configure a web application built with Maven to support "branding", or skinning. That is, support different distribution skinned with particular images, logo, background, text. In the end we just want to keep separated the static contents and choose the right set when we package our application so that the result is a war with just the...
on Nov 7, 2009
Entry posted to my new blog.
on Oct 23, 2009
If you are reading this blog it means you want to use JasperReport with dynamically programmatically generated images. An example of such use cases in generating complex charts using JFreeChart and then including these charts into reports.
Each report in JasperReport uses a datasource to populate the fields, we need to use JRBeanCollectionDataSource which can be considered as a simple collection...
on Sep 21, 2009