<?xml version="1.0" encoding="iso-8859-1"?>

<project name="StackOverflowError" basedir="." default="withGroovy">

    <!--
    1. call groovy-Task
    2. call ant -version via java-Task
    -> StackOverflowError
    -->
    <target name="withGroovy" depends="callGroovy,callAnt"/>

    <!--
    only call ant -version via java-Task
    -> no StackOverflowError
    -->
    <target name="withoutGroovy" depends="callAnt"/>

    <target name="callGroovy">

        <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>

        <groovy>
            println "Hello!"
        </groovy>

    </target>

    <target name="callAnt">

        <java
            classname="org.apache.tools.ant.launch.Launcher"
            classpath="${ant.home}/lib/ant-launcher.jar"
            failonerror="true"
            fork="true"
        >
            <arg value="-version"/>
        </java>

</target>

</project>


