You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Ultra Funkular <fu...@nettaxi.com> on 2002/06/18 05:17:14 UTC
Using Ant api to call a task...
I am attempting to run the <antstructure> task using the Ant api directly.
However, there is a NullPointerException being thrown.
Stack Trace:
java.lang.NullPointerException
at org.apache.tools.ant.Task.perform(Task.java:227)
at org.apache.tools.ant.Target.execute(Target.java:164)
at org.apache.tools.ant.Target.performTasks(Target.java:182)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at
funkular.util.AntTaskDefinitions.createDTDFile(AntTaskDefinitions.java:149)
Code:
Project project = new Project();
Target target = new Target();
AntStructure task = new AntStructure();
task.setOutput( file );
target.addTask( task );
final String TARGET_NAME = "CreateDTD";
target.setName(TARGET_NAME);
project.addTarget(TARGET_NAME, target); //
project.addTarget(target);
project.executeTarget(TARGET_NAME)
Is my code incorrect? I gleaned the usage from the javadocs.
Comments and thoughts appreciated.
Platform: ant 1.4 (with optional.jar), Debian Linux, IBM java SDK 1.3.1
Regards,
T Master
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Using Ant api to call a task...
Posted by Ultra Funkular <fu...@nettaxi.com>.
My task reference is null after making the change from
AntStructure task = new AntStructure();
task.setProject(project);
to
AntStructure task =(AntStructure)
project.createTask("antstructure");
Why is this? The former implementation did work.
Perhaps "antstructure" is not recognised? I also tried "AntStructre".
Note: The Project Javadoc does not specify the return type in this
scenario.
T Master.
On Tue, 18 Jun 2002 00:11:49 Stefan Bodewig wrote:
> On Mon, 17 Jun 2002, Hal Hildebrand <Ha...@hellblazer.com>
> wrote:
>
> > ExecTask exec = new ExecTask();
> > exec.setProject(project);
>
> The preferred way would be
>
> ExecTask exec = (ExecTask) project.createTask("exec");
>
> Stefan
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Using Ant api to call a task...
Posted by "Hal Hildebrand (web)" <Ha...@hellblazer.com>.
Ah. I see.
Thanks for the tip. <g>
----- Original Message -----
From: "Stefan Bodewig" <bo...@apache.org>
> On Mon, 17 Jun 2002, Hal Hildebrand <Ha...@hellblazer.com>
> wrote:
>
> > ExecTask exec = new ExecTask();
> > exec.setProject(project);
>
> The preferred way would be
>
> ExecTask exec = (ExecTask) project.createTask("exec");
>
> Stefan
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Using Ant api to call a task...
Posted by Stefan Bodewig <bo...@apache.org>.
On Mon, 17 Jun 2002, Hal Hildebrand <Ha...@hellblazer.com>
wrote:
> ExecTask exec = new ExecTask();
> exec.setProject(project);
The preferred way would be
ExecTask exec = (ExecTask) project.createTask("exec");
Stefan
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Using Ant api to call a task...
Posted by "Hal Hildebrand (web)" <Ha...@hellblazer.com>.
You're not setting the project of the task:
Project project = new Project();
Target target = new Target();
AntStructure task = new AntStructure();
task.setProject(project);
Here's a snippet that works. There's likely real examples on the web,
but others will have to supply.
os = new OutputStream());
PrintStream ps = new PrintStream(os);
Project project = new Project();
BuildLogger logger = new DefaultLogger();
logger.setMessageOutputLevel(Project.MSG_INFO);
logger.setOutputPrintStream(ps);
logger.setErrorPrintStream(ps);
logger.setEmacsMode(true);
project.addBuildListener(logger);
ExecTask exec = new ExecTask();
exec.setProject(project);
exec.setExecutable("ant.bat");
Commandline.Argument arg = exec.createArg();
arg.setLine("-buildfile d:/work/tahiti/server/build.xml");
exec.execute();
ps.flush();
----- Original Message -----
From: "Ultra Funkular" <fu...@nettaxi.com>
>
> I am attempting to run the <antstructure> task using the Ant api
directly.
> However, there is a NullPointerException being thrown.
>
>
> Stack Trace:
>
> java.lang.NullPointerException
> at org.apache.tools.ant.Task.perform(Task.java:227)
> at org.apache.tools.ant.Target.execute(Target.java:164)
> at org.apache.tools.ant.Target.performTasks(Target.java:182)
> at
org.apache.tools.ant.Project.executeTarget(Project.java:601)
> at
>
funkular.util.AntTaskDefinitions.createDTDFile(AntTaskDefinitions.java:1
49)
>
>
> Code:
>
> Project project = new Project();
> Target target = new Target();
> AntStructure task = new AntStructure();
> task.setOutput( file );
> target.addTask( task );
> final String TARGET_NAME = "CreateDTD";
> target.setName(TARGET_NAME);
> project.addTarget(TARGET_NAME, target); //
> project.addTarget(target);
> project.executeTarget(TARGET_NAME)
>
>
> Is my code incorrect? I gleaned the usage from the javadocs.
>
> Comments and thoughts appreciated.
>
>
> Platform: ant 1.4 (with optional.jar), Debian Linux, IBM java SDK
1.3.1
>
>
> Regards,
>
>
> T Master
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>