You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by j-...@netcourrier.com on 2008/09/26 11:50:36 UTC

Nested Element not retieved

Hi

I'm trying to use ant to perform some operations outside a build process and I'm having a problem dealing with nested elements.
First I made work the code found in the "writing tasks tutorial" at http://ant.apache.org/manual/tutorial-writing-tasks.html#NestedElements. This part is fine.

Now, what i've done, is put the same HelloWorld.java file, without any modifications,  in a jar built with maven (having ant ant ant-launcher as dependencies). At execution the main class tries to launch the ant task using the modified xml file like this :

       
    <target name="use" description="Use the Task" >
        <taskdef name="helloworld" classname="test.HelloWorld" />
        <helloworld> 
            <message msg="Nested Element 1"/>
            <message msg="Nested Element 2"/>
        </helloworld>
    </target>


and the code launching the task simply is (even if called in a different thread):

     ant = new Project();
        helper = new ProjectHelperImpl();
        setTaskProperties();
        ant.addBuildListener(antTasksListener);
        ant.init();
        helper.parse(ant, antTaskFile);
        ant.executeTarget(antTarget);



by doing this I get the following NullPointerException :

Caused by: java.lang.NullPointerException
        at org.apache.tools.ant.IntrospectionHelper.supportsNestedElement(IntrospectionHelper.java:642)
        at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:544)
        at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:326)
        at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:182)
        at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:158)
        at org.apache.tools.ant.Task.perform(Task.java:363)

Then i guess there is a problem with the Nested Element in the HelloWorld.java class, maybe with the classpath (i tried some things with it without any result).
What I don't get is that if i change the xml File for 

  <target name="use" description="Use the Task" >
        <taskdef name="helloworld" classname="test.HelloWorld" />
        <helloworld message="someMessage"> 
        </helloworld>
    </target>

without changing the class, it works and the Task is properly executed. Then it seems I can give a variable to my Task but not a nested element.

 I'm using ant 1.6.5.

If someone has any ideas, i would be really gratefull.


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