Browse Source

* Reorganised build to use new <antlib-descriptor> task.

* The "builtin" and "selftest" descriptors are now generated.
* Fixed ant-descriptor.template to handle @ant:type tag properly.

Submitted by Darrell DeBoer [darrell@apache.org]


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271623 13f79535-47bb-0310-9956-ffa450edef68
master
adammurdoch 23 years ago
parent
commit
f32bf0bc50
18 changed files with 150 additions and 84 deletions
  1. +21
    -21
      proposal/myrmidon/antlib.xml
  2. +108
    -57
      proposal/myrmidon/build.xml
  3. +1
    -0
      proposal/myrmidon/src/java/org/apache/antlib/selftest/ExtensionsTest.java
  4. +1
    -0
      proposal/myrmidon/src/java/org/apache/antlib/selftest/PrimitiveTypesTest.java
  5. +1
    -0
      proposal/myrmidon/src/java/org/apache/aut/nativelib/ExecManager.java
  6. +1
    -0
      proposal/myrmidon/src/java/org/apache/aut/vfs/FileSystemManager.java
  7. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/aspects/NoopAspectHandler.java
  8. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ATIProjectBuilder.java
  9. +2
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java
  10. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/ClassicConfigurer.java
  11. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/DefaultConfigurer.java
  12. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/Pattern.java
  13. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/aspect/AspectManager.java
  14. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/configurer/Configurer.java
  15. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/ClassicProjectListener.java
  16. +1
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/DefaultProjectListener.java
  17. +2
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/NoPrefixProjectListener.java
  18. +4
    -4
      proposal/myrmidon/src/manifest/ant-descriptor.template

+ 21
- 21
proposal/myrmidon/antlib.xml View File

@@ -27,7 +27,6 @@ Legal:
<property name="gen.dir" value="${build.dir}/gen"/> <property name="gen.dir" value="${build.dir}/gen"/>


<property name="antlib.name" value="NONAME"/> <property name="antlib.name" value="NONAME"/>
<property name="antlib.include" value="org/apache/antlib/${antlib.name}/**"/>
<property name="antlib.descriptor" value="${antlib.name}-ant-descriptor.xml"/> <property name="antlib.descriptor" value="${antlib.name}-ant-descriptor.xml"/>
<property name="antlib.role.descriptor" value="${antlib.name}-ant-roles.xml"/> <property name="antlib.role.descriptor" value="${antlib.name}-ant-roles.xml"/>


@@ -40,36 +39,37 @@ Legal:
</path> </path>


<!-- Main target --> <!-- Main target -->
<target name="main" depends="jar" />

<target name="check-uptodate">
<uptodate property="xdoclet.uptodate" targetfile="${gen.dir}/${antlib.descriptor}" >
<srcfiles dir= "${java.dir}" includes="${antlib.include}/*.java"/>
</uptodate>
<target name="main" depends="antlib-jar" />

<!-- Define the pattern which specifies file to include/exclude
in this antlib. -->
<target name="antlib-definition">
<patternset id="antlib.include">
<include name="org/apache/antlib/${antlib.name}/**"/>
</patternset>
</target> </target>


<!-- runs xdoclet if need be --> <!-- runs xdoclet if need be -->
<target name="xdoclet" depends="check-uptodate" unless="xdoclet.uptodate">
<taskdef name="xdoclet" classname="xdoclet.DocletTask" classpathref="project.class.path"/>

<xdoclet sourcepath="${java.dir}" destdir="${gen.dir}" classpathref="project.class.path">
<target name="antlib-descriptors"
depends="antlib-definition"
unless="antlib-descriptors.omit">
<antlib-descriptor libName="${antlib.name}"
destdir="${gen.dir}"
classpathref="project.class.path">
<fileset dir="${java.dir}"> <fileset dir="${java.dir}">
<include name="${antlib.include}/*.java" />
<patternset refid="antlib.include"/>
</fileset> </fileset>
<template templateFile="${manifest.dir}/ant-descriptor.template"
destinationfile="${antlib.descriptor}"/>
<template templateFile="${manifest.dir}/ant-roles.template"
destinationfile="${antlib.role.descriptor}"/>
</xdoclet>
</antlib-descriptor>
</target> </target>


<!-- Creates the jars file -->
<target name="jar" depends="xdoclet">
<!-- Generate an "atl" jar file for this antlib. -->
<target name="antlib-jar" depends="antlib-descriptors">
<antlib-jar jarfile="${build.lib}/${antlib.name}.atl" <antlib-jar jarfile="${build.lib}/${antlib.name}.atl"
basedir="${build.classes}"
descriptor="${gen.dir}/${antlib.descriptor}" descriptor="${gen.dir}/${antlib.descriptor}"
rolesDescriptor="${gen.dir}/${antlib.role.descriptor}"> rolesDescriptor="${gen.dir}/${antlib.role.descriptor}">
<include name="${antlib.include}" />
<fileset dir="${build.classes}">
<patternset refid="antlib.include"/>
</fileset>
</antlib-jar> </antlib-jar>
</target> </target>




+ 108
- 57
proposal/myrmidon/build.xml View File

@@ -184,14 +184,24 @@ Legal:


<!-- Compiles and installs the custom build tasks --> <!-- Compiles and installs the custom build tasks -->
<target name="custom-tasks"> <target name="custom-tasks">
<property name="custom-tasks-dir" value="${build.dir}/tasks"/>
<mkdir dir="${custom-tasks-dir}"/>
<javac srcdir="src/make" destdir="${custom-tasks-dir}">
<classpath refid="project.class.path"/>
</javac>
<taskdef name="antlib-jar" classname="org.apache.myrmidon.build.AntlibJarTask">
<classpath location="${custom-tasks-dir}"/>
</taskdef>
<property name="custom-tasks-dir" value="${build.dir}/tasks"/>
<mkdir dir="${custom-tasks-dir}"/>
<javac srcdir="src/make" destdir="${custom-tasks-dir}">
<classpath refid="project.class.path"/>
</javac>
<copy file="${manifest.dir}/ant-descriptor.template" todir="${build.dir}/tasks"/>
<copy file="${manifest.dir}/ant-roles.template" todir="${build.dir}/tasks"/>

<taskdef name="antlib-jar" classname="org.apache.myrmidon.build.AntlibJarTask">
<classpath location="${custom-tasks-dir}"/>
</taskdef>

<taskdef name="antlib-descriptor" classname="org.apache.myrmidon.build.AntlibDescriptorTask">
<classpath>
<pathelement location="${custom-tasks-dir}"/>
<path refid="project.class.path"/>
</classpath>
</taskdef>
</target> </target>


<!-- Compiles the source code --> <!-- Compiles the source code -->
@@ -302,23 +312,15 @@ Legal:


</target> </target>


<!-- Creates the jars file -->
<target name="jars" depends="custom-tasks, compile">

<target name="jar-prepare" depends="custom-tasks, compile">
<mkdir dir="${build.lib}"/> <mkdir dir="${build.lib}"/>


<jar jarfile="${build.lib}/myrmidon-launcher.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-launcher.mf">
<!-- Define the packaging for the various jars -->
<patternset id="myrmidon-launcher.include">
<include name="org/apache/myrmidon/launcher/*" /> <include name="org/apache/myrmidon/launcher/*" />
</jar>
</patternset>


<antlib-jar jarfile="${build.lib}/myrmidon-api.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-api.mf"
rolesDescriptor="${manifest.dir}/builtin-ant-roles.xml"
descriptor="${manifest.dir}/builtin-ant-descriptor.xml"
servicesDescriptor="${manifest.dir}/core-services.xml" >
<patternset id="myrmidon-api.include">
<include name="org/apache/myrmidon/api/*" /> <include name="org/apache/myrmidon/api/*" />
<include name="org/apache/myrmidon/aspects/*" /> <include name="org/apache/myrmidon/aspects/*" />
<include name="org/apache/myrmidon/converter/*" /> <include name="org/apache/myrmidon/converter/*" />
@@ -327,34 +329,91 @@ Legal:
<include name="org/apache/myrmidon/framework/**" /> <include name="org/apache/myrmidon/framework/**" />
<include name="org/apache/aut/**" /> <include name="org/apache/aut/**" />
<include name="org/apache/tools/**" /> <include name="org/apache/tools/**" />
<!-- <include name="org/apache/myrmidon/*" />
<include name="org/apache/myrmidon/components/**"/>
<include name="org/apache/myrmidon/frontends/*" /> -->
</antlib-jar>
</patternset>
<patternset id="myrmidon-container.include">
<include name="org/apache/myrmidon/components/**" />
<include name="org/apache/myrmidon/frontends/*" />
<include name="org/apache/myrmidon/*" />
</patternset>


<!--
<jar jarfile="${build.lib}/myrmidon-framework.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-framework.mf">
<include name="org/apache/myrmidon/framework/**" />
<patternset id="selftest.include">
<include name="org/apache/antlib/selftest/**" />
<exclude name="org/apache/antlib/selftest/extension1/**" />
</patternset>


<zipfileset dir="${manifest.dir}" fullpath="META-INF/ant-roles.xml">
<include name="builtin-ant-roles.xml"/>
</zipfileset>
<patternset id="selftest-extension1.include">
<include name="org/apache/antlib/selftest/extension1/**" />
</patternset>
</target>


<zipfileset dir="${manifest.dir}" fullpath="META-INF/ant-descriptor.xml">
<include name="builtin-ant-descriptor.xml"/>
</zipfileset>
<!-- The generation of the descriptor is kept separated from the packaging
of the jars, since jarring is fast and XDoclet is pretty slow.-->
<target name="antlib-descriptors"
depends="jar-prepare"
unless="antlib-descriptors.omit"
description="Generates Antlib descriptors using XDoclet.">

<!-- The "builtin" descriptors include metainfo for both
myrmidon-api and myrmidon-container jars.
(Packaged with myrmidon-api.jar). -->
<antlib-descriptor libName="builtin"
destdir="${gen.dir}"
classpathref="project.class.path">
<fileset dir="${java.dir}">
<patternset refid="myrmidon-api.include"/>
<patternset refid="myrmidon-container.include"/>
</fileset>
</antlib-descriptor>

<antlib-descriptor libName="selftest"
destdir="${gen.dir}"
classpathref="project.class.path">
<fileset dir="${java.dir}">
<patternset refid="selftest.include"/>
</fileset>
</antlib-descriptor>
</target>

<!-- Package the jar files -->
<target name="jars" depends="antlib-descriptors">

<jar jarfile="${build.lib}/myrmidon-launcher.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-launcher.mf">
<patternset refid="myrmidon-launcher.include"/>
</jar> </jar>
-->
<jar jarfile="${build.lib}/myrmidon-container.jar" <jar jarfile="${build.lib}/myrmidon-container.jar"
basedir="${build.classes}" basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-container.mf"> manifest="${manifest.dir}/myrmidon-container.mf">
<include name="org/apache/myrmidon/components/**" />
<include name="org/apache/myrmidon/frontends/*" />
<include name="org/apache/myrmidon/*" />
<patternset refid="myrmidon-container.include"/>
</jar> </jar>


<antlib-jar jarfile="${build.lib}/myrmidon-api.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/myrmidon-api.mf"
rolesDescriptor="${gen.dir}/builtin-ant-roles.xml"
descriptor="${gen.dir}/builtin-ant-descriptor.xml"
servicesDescriptor="${manifest.dir}/core-services.xml" >
<patternset refid="myrmidon-api.include"/>
</antlib-jar>

<antlib-jar jarfile="${build.lib}/selftest.atl"
basedir="${build.classes}"
manifest="${manifest.dir}/selftest.mf"
descriptor="${gen.dir}/selftest-ant-descriptor.xml"
rolesDescriptor="${gen.dir}/selftest-ant-roles.xml">
<patternset refid="selftest.include"/>
</antlib-jar>

<jar jarfile="${build.lib}/selftest-extension1.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/selftest-extension1.mf">
<patternset refid="selftest-extension1.include" />
</jar>

<!-- Simple cases handled by antlib.xml -->
<ant antfile="antlib.xml"> <ant antfile="antlib.xml">
<property name="antlib.name" value="core"/> <property name="antlib.name" value="core"/>
</ant> </ant>
@@ -390,22 +449,6 @@ Legal:
<ant antfile="antlib.xml"> <ant antfile="antlib.xml">
<property name="antlib.name" value="vfile"/> <property name="antlib.name" value="vfile"/>
</ant> </ant>

<antlib-jar jarfile="${build.lib}/selftest.atl"
basedir="${build.classes}"
manifest="${manifest.dir}/selftest.mf"
descriptor="${manifest.dir}/selftest-ant-descriptor.xml"
rolesDescriptor="${manifest.dir}/empty-roles.xml">
<include name="org/apache/antlib/selftest/**" />
<exclude name="org/apache/antlib/selftest/extension1/**" />
</antlib-jar>

<jar jarfile="${build.lib}/selftest-extension1.jar"
basedir="${build.classes}"
manifest="${manifest.dir}/selftest-extension1.mf">
<include name="org/apache/antlib/selftest/extension1/**" />
</jar>

</target> </target>


<!-- Compiles and runs the unit tests --> <!-- Compiles and runs the unit tests -->
@@ -487,7 +530,9 @@ Legal:
</target> </target>


<!-- Creates the distribution --> <!-- Creates the distribution -->
<target name="dist-lite" depends="jars">
<target name="dist-lite"
depends="jars"
description="Generates a minimal working distribution.">


<mkdir dir="${dist.bin}"/> <mkdir dir="${dist.bin}"/>
<mkdir dir="${dist.lib}"/> <mkdir dir="${dist.lib}"/>
@@ -529,6 +574,12 @@ Legal:


</target> </target>


<target name="dist-extralite"
description="A faster version of dist-lite (no XDoclet).">
<property name="antlib-descriptors.omit" value="true"/>
<antcall target="dist-lite"/>
</target>

<!-- Creates the distribution --> <!-- Creates the distribution -->
<target name="dist" depends="dist-lite,test" description="Builds the distribution"/> <target name="dist" depends="dist-lite,test" description="Builds the distribution"/>




+ 1
- 0
proposal/myrmidon/src/java/org/apache/antlib/selftest/ExtensionsTest.java View File

@@ -15,6 +15,7 @@ import org.apache.myrmidon.api.TaskException;
* This is to test whether extension is loaded. * This is to test whether extension is loaded.
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @ant:task name="extensions-test"
*/ */
public class ExtensionsTest public class ExtensionsTest
extends AbstractTask extends AbstractTask


+ 1
- 0
proposal/myrmidon/src/java/org/apache/antlib/selftest/PrimitiveTypesTest.java View File

@@ -14,6 +14,7 @@ import org.apache.myrmidon.api.TaskException;
* Test conversion of all the primitive types. * Test conversion of all the primitive types.
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @ant:task name="prim-test"
*/ */
public class PrimitiveTypesTest public class PrimitiveTypesTest
extends AbstractTask extends AbstractTask


+ 1
- 0
proposal/myrmidon/src/java/org/apache/aut/nativelib/ExecManager.java View File

@@ -28,6 +28,7 @@ import java.util.Properties;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:role shorthand="exec-manager"
*/ */
public interface ExecManager public interface ExecManager
{ {


+ 1
- 0
proposal/myrmidon/src/java/org/apache/aut/vfs/FileSystemManager.java View File

@@ -50,6 +50,7 @@ import java.io.File;
* </ul> * </ul>
* *
* @author Adam Murdoch * @author Adam Murdoch
* @ant:role shorthand="file-system-manager"
*/ */
public interface FileSystemManager public interface FileSystemManager
{ {


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/aspects/NoopAspectHandler.java View File

@@ -12,6 +12,7 @@ package org.apache.myrmidon.aspects;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="aspect" name="noop"
*/ */
public class NoopAspectHandler public class NoopAspectHandler
extends AbstractAspectHandler extends AbstractAspectHandler


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ATIProjectBuilder.java View File

@@ -29,6 +29,7 @@ import org.xml.sax.XMLReader;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="project-builder" name="ati"
*/ */
public class ATIProjectBuilder public class ATIProjectBuilder
extends DefaultProjectBuilder extends DefaultProjectBuilder


+ 2
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java View File

@@ -35,6 +35,8 @@ import org.xml.sax.XMLReader;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="project-builder" name="xml"
* @ant:type type="project-builder" name="ant"
*/ */
public class DefaultProjectBuilder public class DefaultProjectBuilder
extends AbstractLogEnabled extends AbstractLogEnabled


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/ClassicConfigurer.java View File

@@ -30,6 +30,7 @@ import org.apache.myrmidon.interfaces.configurer.Configurer;
* Class used to configure tasks. * Class used to configure tasks.
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @ant:type type="configurer" name="classic"
*/ */
public class ClassicConfigurer public class ClassicConfigurer
extends AbstractLogEnabled extends AbstractLogEnabled


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/DefaultConfigurer.java View File

@@ -34,6 +34,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="configurer" name="default"
*/ */
public class DefaultConfigurer public class DefaultConfigurer
extends AbstractLogEnabled extends AbstractLogEnabled


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/framework/Pattern.java View File

@@ -17,6 +17,7 @@ import org.apache.myrmidon.api.TaskException;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:data-type name="pattern"
*/ */
public class Pattern public class Pattern
implements DataType implements DataType


+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/aspect/AspectManager.java View File

@@ -13,7 +13,7 @@ import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.aspects.AspectHandler; import org.apache.myrmidon.aspects.AspectHandler;


/** /**
* Manage and propogate Aspects.
* Manage and propogate Aspects..
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/configurer/Configurer.java View File

@@ -16,6 +16,7 @@ import org.apache.myrmidon.api.Context;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:role shorthand="configurer"
*/ */
public interface Configurer public interface Configurer
{ {


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/ClassicProjectListener.java View File

@@ -15,6 +15,7 @@ import org.apache.avalon.framework.ExceptionUtil;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="listener" name="classic"
*/ */
public class ClassicProjectListener public class ClassicProjectListener
extends AbstractProjectListener extends AbstractProjectListener


+ 1
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/DefaultProjectListener.java View File

@@ -12,6 +12,7 @@ package org.apache.myrmidon.listeners;
* *
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
* @ant:type type="listener" name="default"
*/ */
public class DefaultProjectListener public class DefaultProjectListener
extends ClassicProjectListener extends ClassicProjectListener


+ 2
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/NoPrefixProjectListener.java View File

@@ -12,7 +12,8 @@ package org.apache.myrmidon.listeners;
* *
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/
* @ant:type type="listener" name="noprefix"
*/
public class NoPrefixProjectListener public class NoPrefixProjectListener
extends DefaultProjectListener extends DefaultProjectListener
{ {


+ 4
- 4
proposal/myrmidon/src/manifest/ant-descriptor.template View File

@@ -18,10 +18,10 @@
</XDtClass:ifHasClassTag> </XDtClass:ifHasClassTag>
</XDtClass:forAllClasses> </XDtClass:forAllClasses>


<XDtClass:forAllClasses>
<XDtClass:forAllClassTags tagName="ant:type">
<<XDtClass:classTagValue tagName="ant:type" paramName="type"/>
name="<XDtClass:classTagValue tagName="ant:type" paramName="name"/>"
<XDtClass:forAllClasses extent="concrete-type">
<XDtClass:forAllClassTags tagName="ant:type" superclasses="false">
<<XDtClass:classTagValue tagName="ant:type" paramName="type" superclasses="false"/>
name="<XDtClass:classTagValue tagName="ant:type" paramName="name" superclasses="false"/>"
classname="<XDtClass:fullClassName/>" /> classname="<XDtClass:fullClassName/>" />
</XDtClass:forAllClassTags> </XDtClass:forAllClassTags>
</XDtClass:forAllClasses> </XDtClass:forAllClasses>


Loading…
Cancel
Save