I just had turn down a request to change the default value for an attribute of an Ant task again with "can't do because of backwards compatibility".

While I think this time the request wasn't a good one anyway (changing the default value for <war>'s roundup), there are other tasks where I really agree that Ant's default is wrong. My pet peeve is <ant>'s inheritall attribute. The initial version of this task passed down all properties to the sub build and so we had to keep it that way even after we understood that you most likely want to pass only a chosen few of them.

Luckily Ant 1.6.x's <presetdef> comes to rescue. This task hasn't seen as much attention as <import> or <macrodef>, but it really comes in handy.

  <presetdef name="myant">
    <ant inheritall="false"/>
  </presetdef>

and I have a <myant> task that works like I'd prefer <ant> to work. I can still override the new default with <myant inheritall="true"/>.

If you can live with

Trying to override old definition of task ant
that Ant issues to warn you in case of conflicts, you can even make that
  <presetdef name="ant">
    <ant inheritall="false"/>
  </presetdef>
and magically all <ant> tasks have changed their default.

For my own project I prefer a middle-ground using namespaces and the original task names. Something like

  <project xmlns:my="urn:mytasks">
    <presetdef name="ant" uri="urn:mytasks">
      <ant inheritall="false"/>
    </presetdef>
    ...
    <my:ant .../>

path: /en/Apache/Ant | #

Must be a new virus in the wild again. I've received more than 8600 Virus mails during the past twelve hours. The number that really disturbs me is that more than 8000 of them are bounces created by less than 10 different mail servers - bounces that contain the virus itself as payload.

I vaguely recall Chuqui posting the worst offenders in his blog in the past, but I doubt it would help too much.

Hmm, just realized that some of the bouncers listed here previously didn't identify the virus but complained about non-existant users, so bouncing the full mail was acceptable - if still dumb. I've removed the list for now.

path: /en/malware/viruses | #

Since I've been skeptic in the past, I should provide an update. Germany's Truck Maut system will pick up work in January 2005. Fourteen months later than promised and with a stripped down feature set, but I guess that's not too unusual for a project of this size and budget.

path: /en/Germany/maut | #

It turned out to require not too much Python knowledge to make Gump support building with make - and have it support all the stuff needed to build C projects against each other.

As a proof, we are now building APR and Apache HTTPd in Gump - of course HTTPd gets built against the latest versions of apr and apr-util.

Next up should be building .NET projects. There already is a NAnt builder, but at the moment Mono is giving us trouble on our Debian box.

path: /en/Apache/Gump | #

at least if you live in my part of the world.

After almost five years, there will be an ApacheCon Europe next year - July 18-22, in Stuttgart. This most probably will be my second ApacheCon after London 2000.

path: /en/Apache/ApacheCon | #

Dirk Nowitzki had a career high 53 points last night while battling Tracy McGrady who had 48. Sounds like a fun game to watch, now I only need to find somebody who recorded it. One of these days where I really hate the limited NBA coverage on German TV.

path: /en/basketball | #