has been released, something that a lot of people I know (including my team at work) have been waiting for.

This (at least partly) addresses the second of two points Loren Halvorson had in favor of the Microsoft Enterprise Logging Block.

path: /en/Apache/Log4Net | #

Looks as if we'd have a release candidate for Ant 1.6.3 by the end of this month. This is supposed to be early enough for the upcoming Netbeans and Eclipse releases, so they can bundle 1.6.3 final.

This is going to be mainly a bug fix release, but a whole lot of Gump experience with Java 5 and Kaffe has also found its way into this release. <javac target="1.1"> will work (Ant will print a warning, though) and <rmic> will know when it doesn't need to recompile on JDK 1.5. Many more things are supposed to work on Kaffe now.

For an almost complete list of changes see Ant's WHATSNEW file. No really big things, but still a few important enhancements, for example

  • <ant> can now invoke multiple targets in one go.
  • Changed default tempdir for <javac> from user.dir to java.io.tmpdir. Useful if you run Ant embedded in a servlet container, for example.
  • <macrodef> with default values set by properties would be seen as new definitions when called twice with different properties. This led to annoying "Trying to override" messages.
  • <setproxy>'s authentication should now work on all JDKs.

path: /en/Apache/Ant | #

Thanks to Ask Bjørn Hansen, GeoURL is back again.

path: /en/geourl | #

In the comments to an earlier article marcg said:

I discovered that the only way that I could namespace scriptdefs was to put them into an antlib.

When I mentioned this on the Ant dev-list, Peter Reilly responded:

The doc does not mention it, but inherits attributes from DefBase, so the following works:
    <scriptdef name="a" uri="a.b.c" language="beanshell">
      <attribute name="attr"/>
      self.log("Attribute attr1 = " + attributes.get("attr"));
    <a xmlns="a.b.c" attr="b"/>

He actually meant AntlibDefinition, not DefBase. The uri attribute is supported by scriptdef, typedef, taskdef, macrodef and presetdef.

path: /en/Apache/Ant | #