The GWT Tasks stuff made me work through some very old TODO items that have seriously been sitting in my inbox unanswered far too long.

More than three years ago I wrote an Ant task to be used inside NAnt or MSBuild build files and apparently some people actually use it. About a year ago Martin Harper told me that only lower case Ant properties worked but I never got around looking into it.

It turned out that I foolishly used used System.Collections.Specialized.StringDictionary to store the properties, which is not case sensitive. While I was at at it, I moved the whole class up to .NET 2.0 using generics and provided a Visual Studio solution.

Here is a new drop of source code as well as a pre-compiled DLL containing the task. The DLL has been compiled against NAnt 0.8.5 using VS 2008 - if you need any other combination (or a version not compiled against NAnt), please grab the source ZIP and compile it yourself.

The source is also available from a darcs repository:

darcs get http://stefan.samaflost.de/repos/anttask/

path: /en/dotNet | #

The Apache Gump project is five years old today and its birthday present is support for git.

To be honest I started working on git support when I saw JUnit moving away from Sourceforge a few weeks ago - and I didn't realize Gump's birthday was upcoming until last week. Still it is a nice coincidence and made a good tag line.

The Python code to use git has been in trunk for a a few days and I merged it into the code base running main Gump yesterday. Of course I managed to break the four lines of Python code I didn't run via Pylint, twice. Sorry for the broken Gump runs last night.

Norman Maurer helped me out when I had trouble getting git installed on the Solaris Zone (one of many people I owe a beer in Amsterdam) and I hope I now have a working version of git on vmgump. When all things look good I'll turn the switch on JUnit.

Next up will be darcs, Mercurial and Bazaar - but since we don't really have any project using them, it is a rather low priority project to me.

path: /en/Apache/Gump | #

Back when GWT was all new and shiny (almost three years ago), I played with it and put together a tiny library of Ant tasks - nothing earth-shattering, really basically only a few macrodefs over Ant's java task.

Strangely I still get quite a few hits by searches for "GWT and Ant", so it seems as if nobody else has given GWT and Ant integration a try.

I don't use GWT. Not at all. When I create webapps at $JOB GWT isn't the right choice, either its technology is no fit (we mainly are a .NET shop after all) or the layout requirements can't be achieved by any component based framework I've tried (so far it is Velocity at the view layer for me).

Almost exactly two years ago Fernando Meyer sent me a patch to the Antlib that changed the hard coded directory names for source and destination into attributes on the gwt:shell and gwt:compile tasks. About a year ago I was asked how one could increase the memory size for gwt:compile. Somewhere very deeply buried on my TODO list I took note of them.

When I woke up this morning Apache's svn was read-only and suddenly I had time (I planned to hack on Gump) but no ASF project to keep me occupied so I finally managed to integrate Fernando's patch and make room for arbitrary extension arguments.

Code and sources are here and while I was at it, there is a darcs repository1 for it (I've been using darcs for years and didn't feel like installing a different SCM backend).

gwt:compile and gwt:shell have new attributes sourcedir that default to the old hard-coded value "src" for the source directory and both have a new nested element jvmargs that can be used to pass arbitrary nested elements supported by Ant's java task to the underlying task. I.e. one can now write

    <gwt:compile outDir="www" gwtHome="${gwt.home}"
                 classBase="de.samaflost.gwt.Foo">
      <gwt:jvmargs>
        <jvmarg value="-Xmx1024m"/>
      </gwt:jvmargs>
    </gwt:compile>

in order to bump the max memory to one gig. gwt:shell now also has an optional bindir attribute defaulting to the old hard-coded "bin".

The Antlib has seen some minimal manual testing against GWT 1.5.

It should be obvious that I don't really maintain these tasks, and to be honest I don't expect I'll ever do. If anybody wants to fork the code, reuse it, whatever, feel free to do so. If you are planning to maintain a more useful Ant integration than my hackish version did, please let me know so I can send people looking for "GWT and Ant" your way.

[1] The directory is not browseable, use

darcs get http://stefan.samaflost.de/repos/gwttasks/

in order to grab the contents.

path: /en/Java/GWT | #

Wolfgang Weihnachten '89

Ich bin dankbar, dass wir uns kennengelernt haben, mein Freund.

Pfad: /de/persoenlich | #

I haven't been able to attend the first ruhrJUG meeting for personal reasons, but it looks as if it had been off to a good start. Maybe too good since the room was too crowded - making the organizers ask people to register upfront if they plan to attend in the future.

The next three talks are already scheduled with Eberhard Wolf talking about Spring 3 (I've seen his talk at the rheinjug so I'll probably skip this one), Marc Guillemot talking about Canoo WebTest (this isn't that Java specific) and Stefan Tilkov talking about JAX-RS.

In addition the ruhrJUG is starting what they call "Open Monday" - some loose gathering of people interested in Java and/or Open Source with the first event taking place next Monday. Apparently there'll be a CAcert-Party (whatever that is). I wonder if there would be enough interest in a PGP singing party - if so I'd be willing to organize things.

The rheinjug has scheduled a talk by Nils Wloka about using Spring (and AspectJ) to build rich domain models this month.

path: /en/ruhrjug | #