ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashley Williams <>
Subject Re: Replacing build.xml with - Doing Ant builds directly from Java
Date Thu, 11 Jun 2009 16:51:45 GMT
Hi Dean,

I use this technique frequently as in this example lifted straight  
from my code, see below.
All you have to remember is that a top level project owns many targets  
which in turn own many tasks,
so just make sure you set up the parent/child references in both  

		// create the ant parent project
		Project project = new Project();

		// create the child target
		Target target = new Target();
		project.addBuildListener(new Log4jListener());

		// create the child untar task with gzip compression
		Untar untar = new Untar();
		untar.setDest(new File("."));
		Untar.UntarCompressionMethod method = new  


I am also the architect of ProtoJ over at google code 
  which builds on ant and other
dependencies to control a project from java rather than script.

- Ashley

On 11 Jun 2009, at 16:28, Dean Schulze wrote:

> The Ant documentation has a section titled "Using Ant Tasks Outside
> of Ant" which gives a teaser for how to use the Ant libraries from  
> Java
> code.  In theory it seems simple enough to replace build.xml with
> The Ant documentation hints at some undocumented
> dependencies that I'll have to discover (undocumented from the point  
> of
> view of using Ant from within Java).
> Using Java instead of xml to do an Ant build seems so obvious I  
> wonder why there hasn't been a parallel track over the years for  
> as well as build.xml.
> I asked this same question over at
> The answers indicate that it isn't difficult to do, but that it is  
> necessary to "spoof" the project and target objects.
> While it all looks encouraging I haven't seen any actual examples of  
> how to deal with the undocumented issues mentioned.  Has anyone  
> documented how to do Ant builds from Java?
> Thanks.
> Dean

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message