You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Robert Koberg <ro...@koberg.com> on 2004/01/29 17:07:19 UTC

[Fwd: howto trigger an Ant build within java]

Hi,

I am looking into using Ant (v1.6.0) more in my webapp so I can offer
offline publishing equivalents. I am transforming some config XML into a
build file. I then want to load that build file into a new
org.apache.tools.ant.Project. The build.xml gets produce properly (it
runs successfully from the command line).

How do I load the build file and create an ant project, then trigger a
particular target to execute? The build file uses only Core Tasks (and
an xmlcatalog). Is there a simple example somewhere? I have tried
searching with google but getting too many hits that don't cover what I
am looking for.

Here is what I have tried:

org.apache.tools.ant.Project antProject = new
org.apache.tools.ant.Project();

AntXMLContext antContext = new AntXMLContext(antProject);

File f = lsbProject.lookup("build.xml").getFile();
System.out.println("build.xml: " + f);

antContext.setBuildFile(f);
System.out.println("project name: " + antContext.getCurrentProjectName());

Vector targets = antContext.getTargets();
for (Enumeration e = targets.elements(); e.hasMoreElements();) {
   Target target = (Target) e.nextElement();
System.out.println(target.getName() + " : " + target.getDescription());
}

----------
the System.outs produce:

build.xml: c:\home\app\projects\grok\build.xml
project name: null
  : null
----------

thanks for any help,
-Rob



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


howto trigger an Ant build within java

Posted by Robert Koberg <ro...@koberg.com>.
[resending -- didn't seem to make it through]

> Hi,
> 
> I am looking into using Ant (v1.6.0) more in my webapp so I can offer
> offline publishing equivalents. I am transforming some config XML into a
> build file. I then want to load that build file into a new
> org.apache.tools.ant.Project. The build.xml gets produce properly (it
> runs successfully from the command line).
> 
> How do I load the build file and create an ant project, then trigger a
> particular target to execute? The build file uses only Core Tasks (and
> an xmlcatalog). Is there a simple example somewhere? I have tried
> searching with google but getting too many hits that don't cover what I
> am looking for.
> 
> Here is what I have tried:
> 
> org.apache.tools.ant.Project antProject = new
> org.apache.tools.ant.Project();
> 
> AntXMLContext antContext = new AntXMLContext(antProject);
> 
> File f = lsbProject.lookup("build.xml").getFile();
> System.out.println("build.xml: " + f);
> 
> antContext.setBuildFile(f);
> System.out.println("project name: " + antContext.getCurrentProjectName());
> 
> Vector targets = antContext.getTargets();
> for (Enumeration e = targets.elements(); e.hasMoreElements();) {
>   Target target = (Target) e.nextElement();
> System.out.println(target.getName() + " : " + target.getDescription());
> }
> 
> ----------
> the System.outs produce:
> 
> build.xml: c:\home\app\projects\grok\build.xml
> project name: null
>  : null
> ----------
> 
> thanks for any help,
> -Rob
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org