<project name="test" basedir=".">

  <target name="addpath">
    <typedef name="mypath" classname="org.apache.tools.ant.types.Path"/>
    <path>
      <mypath path="build.xml"/>
    </path>
  </target>

  <target name="addcondition">
    <typedef name="mycondition"
             classname="org.apache.tools.ant.taskdefs.condition.Equals"/>
    <condition property="mycondition.set">
      <mycondition arg1="string" arg2="string"/>
    </condition>
    <fail unless="mycondition.set"/>
  </target>

  <target name="addfilter">
    <typedef name="headfilter2"
             classname="org.apache.tools.ant.filters.HeadFilter"/>
    <concat>This is line 1
      This is line 2
      This is line 3
      <filterchain>
        <headfilter2 lines="2"/>
      </filterchain>
    </concat>
  </target>

  <target name="addselector">
    <typedef
      name="myselector"
      classname="org.apache.tools.ant.types.selectors.ContainsSelector"/>
    <fileset id="myselector.test" dir="${basedir}" includes="*">
      <myselector text="myselector"/>
    </fileset>
  </target>

  <target name="init">
    <property name="nested.package" value="org.apache.tools.ant.types."/>
    <path id="test-classes">
      <pathelement location="../../../../build/testcases" />
      <pathelement path="${java.class.path}" />
    </path>
    <typedef loaderref="nested.loader" classpathref="test-classes"
             name = "nested.a"
             classname="${nested.package}AddTypeTest$AImpl"/>
    <typedef loaderref="nested.loader" classpathref="test-classes"
             name = "nested.b"
             classname="${nested.package}AddTypeTest$BImpl"/>
    <typedef loaderref="nested.loader" classpathref="test-classes"
             name = "nested.c"
             classname="${nested.package}AddTypeTest$CImpl"/>
    <typedef loaderref="nested.loader" classpathref="test-classes"
             name = "nested.ab"
             classname="${nested.package}AddTypeTest$ABImpl"/>
    <taskdef loaderref="nested.loader" classpathref="test-classes"
             name = "nested.container" 
             classname="${nested.package}AddTypeTest$NestedContainer"/>
    <taskdef loaderref="nested.loader" classpathref="nested.classes"
             name = "nested.condition.task" 
             classname="${nested.package}AddTypeTest$MyCondition"/>
    <typedef loaderref="nested.loader" classpathref="nested.classes"
             name = "nested.condition.type" 
             classname="${nested.package}AddTypeTest$MyCondition"/>
    <typedef loaderref="nested.loader" classpathref="nested.classes"
             name = "myaddconfigured" 
             classname="${nested.package}AddTypeTest$MyAddConfigured"/>
    <typedef loaderref="nested.loader" classpathref="nested.classes"
             name = "myvalue" 
             classname="${nested.package}AddTypeTest$MyValue"/>
  </target>

  <target name="nested.a" depends="init">
    <nested.container>
      <nested.a/>
    </nested.container>
  </target>

  <target name="nested.b" depends="init">
    <nested.container>
      <nested.b/>
    </nested.container>
  </target>
  
  <target name="nested.c" depends="init">
    <nested.container>
      <nested.c/>
    </nested.container>
  </target>

  <target name="nested.ab" depends="init">
    <nested.container>
      <nested.ab/>
    </nested.container>
  </target>

  <!-- tests for task adaptor -->
  <target name="condition.type" depends="init">
    <echo>before</echo>
    <nested.condition.type/>
    <echo>after</echo>
  </target>

  <target name="condition.task" depends="init">
    <echo>before</echo>
    <nested.condition.task/>
    <echo>after</echo>
  </target>

  <target name="condition.condition.type" depends="init">
    <condition property="condition.condition.type">
      <nested.condition.type/>
    </condition>
  </target>

  <target name="condition.condition.task" depends="init">
    <condition property="condition.condition.task">
      <nested.condition.task/>
    </condition>
  </target>

  <target name="myaddconfigured" depends="init">
    <myaddconfigured>
      <myvalue>Value Set</myvalue>
    </myaddconfigured>
  </target>

  <target name="namespacetest" xmlns:prefix="uri">
    <typedef name="eq" uri="uri"
             classname="org.apache.tools.ant.taskdefs.condition.Equals"/>
    <condition property="p">
      <prefix:eq arg1="a" arg2="b"/>
    </condition>
  </target>
</project>
