adammurdoch 02/04/25 20:22:24
Modified: buildtools/src/java/org/apache/myrmidon/build
ant-descriptor.j
container/src/java/org/apache/myrmidon/components/deployer
CompoundTypeDeployer.java
ConverterTypeDeployer.java
DefaultTypeLibraryDeployer.java
framework project.xml
framework/src/java/org/apache/myrmidon/framework/factories
ExecManagerFactory.java VfsManagerFactory.java
myrmidon .cvsignore
site/src/xdocs buildfile.xml
Removed: container/src/java/org/apache/myrmidon/components/deployer
ServiceDescriptorBuilder.java
framework/src/conf ant-services.xml
Log:
* Removed ant-services.xml descriptor. Services are now registered as
service-factory
types, and the instantiate-on-demand service manager takes care of the rest.
* Added @ant.service-factory tag.
* Don't generate descriptors for the framework todo classes.
Revision Changes Path
1.3 +10 -3
jakarta-ant-myrmidon/buildtools/src/java/org/apache/myrmidon/build/ant-descriptor.j
Index: ant-descriptor.j
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/buildtools/src/java/org/apache/myrmidon/build/ant-descriptor.j,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ant-descriptor.j 25 Apr 2002 09:34:45 -0000 1.2
+++ ant-descriptor.j 26 Apr 2002 03:22:24 -0000 1.3
@@ -3,19 +3,26 @@
<types>
<XDtClass:forAllClasses type="org.apache.myrmidon.api.Task"
extent="hierarchy">
- <XDtClass:ifHasClassTag tagName="ant.task">
+ <XDtClass:ifHasClassTag tagName="ant.task" superclasses="false">
<task name="<XDtClass:classTagValue tagName="ant.task"
paramName="name"/>"
classname="<XDtClass:fullClassName/>"/>
</XDtClass:ifHasClassTag>
</XDtClass:forAllClasses>
<XDtClass:forAllClasses type="org.apache.myrmidon.framework.DataType"
extent="hierarchy">
- <XDtClass:ifHasClassTag tagName="ant.data-type">
+ <XDtClass:ifHasClassTag tagName="ant.data-type" superclasses="false">
<data-type name="<XDtClass:classTagValue tagName="ant.data-type"
paramName="name"/>"
classname="<XDtClass:fullClassName/>"/>
</XDtClass:ifHasClassTag>
</XDtClass:forAllClasses>
+ <XDtClass:forAllClasses
type="org.apache.myrmidon.interfaces.service.ServiceFactory" extent="hierarchy">
+ <XDtClass:ifHasClassTag tagName="ant.service-factory"
superclasses="false">
+ <service-factory name="<XDtClass:classTagValue
tagName="ant.service-factory" paramName="role"/>"
+ classname="<XDtClass:fullClassName/>"/>
+ </XDtClass:ifHasClassTag>
+ </XDtClass:forAllClasses>
+
<XDtClass:forAllClasses extent="concrete-type">
<XDtClass:forAllClassTags tagName="ant.type" superclasses="false">
<<XDtClass:classTagValue tagName="ant.type" paramName="type"
superclasses="false"/>
@@ -25,7 +32,7 @@
</XDtClass:forAllClasses>
<XDtClass:forAllClasses type="org.apache.aut.converter.Converter">
- <XDtClass:ifHasClassTag tagName="ant.converter">
+ <XDtClass:ifHasClassTag tagName="ant.converter" superclasses="false">
<converter classname="<XDtClass:fullClassName/>"
source="<XDtClass:classTagValue tagName="ant.converter"
paramName="source"/>"
destination="<XDtClass:classTagValue
tagName="ant.converter" paramName="destination"/>"/>
1.3 +2 -2
jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/CompoundTypeDeployer.java
Index: CompoundTypeDeployer.java
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/CompoundTypeDeployer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompoundTypeDeployer.java 25 Apr 2002 09:34:45 -0000 1.2
+++ CompoundTypeDeployer.java 26 Apr 2002 03:22:24 -0000 1.3
@@ -17,9 +17,9 @@
* A type deployer that delegates to a type deployer per role.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Adam Murdoch</a>
- * @version $Revision: 1.2 $ $Date: 2002/04/25 09:34:45 $
+ * @version $Revision: 1.3 $ $Date: 2002/04/26 03:22:24 $
*/
-public class CompoundTypeDeployer
+class CompoundTypeDeployer
implements TypeDeployer
{
private final Map m_deployers = new HashMap();
1.3 +2 -2
jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/ConverterTypeDeployer.java
Index: ConverterTypeDeployer.java
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/ConverterTypeDeployer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ConverterTypeDeployer.java 25 Apr 2002 09:34:45 -0000 1.2
+++ ConverterTypeDeployer.java 26 Apr 2002 03:22:24 -0000 1.3
@@ -24,9 +24,9 @@
* manager and the converter registry.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Adam Murdoch</a>
- * @version $Revision: 1.2 $ $Date: 2002/04/25 09:34:45 $
+ * @version $Revision: 1.3 $ $Date: 2002/04/26 03:22:24 $
*/
-public class ConverterTypeDeployer
+class ConverterTypeDeployer
extends DefaultTypeDeployer
implements TypeDeployer, Serviceable
{
1.3 +1 -48
jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/DefaultTypeLibraryDeployer.java
Index: DefaultTypeLibraryDeployer.java
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/deployer/DefaultTypeLibraryDeployer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultTypeLibraryDeployer.java 25 Apr 2002 09:34:45 -0000 1.2
+++ DefaultTypeLibraryDeployer.java 26 Apr 2002 03:22:24 -0000 1.3
@@ -33,7 +33,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Adam Murdoch</a>
- * @version $Revision: 1.2 $ $Date: 2002/04/25 09:34:45 $
+ * @version $Revision: 1.3 $ $Date: 2002/04/26 03:22:24 $
*/
class DefaultTypeLibraryDeployer
extends AbstractLogEnabled
@@ -44,17 +44,14 @@
private static final String TYPE_DESCRIPTOR_NAME =
"META-INF/ant-descriptor.xml";
private static final String ROLE_DESCRIPTOR_NAME =
"META-INF/ant-roles.xml";
- private static final String SERVICE_DESCRIPTOR_NAME =
"META-INF/ant-services.xml";
private final TypeDeployer m_typeDeployer;
private final ClassLoader m_classLoader;
private TypeDescriptor[] m_descriptors;
- private TypeDescriptor[] m_services;
// TODO - create and configure these in DefaultDeployer
private DescriptorBuilder m_roleBuilder = new RoleDescriptorBuilder();
private DescriptorBuilder m_typeBuilder = new TypeDescriptorBuilder();
- private DescriptorBuilder m_serviceBuilder = new
ServiceDescriptorBuilder();
/** Map from role Class -> DefaultTypeFactory for that role. */
private Map m_factories = new HashMap();
@@ -110,13 +107,6 @@
buildDescriptors( typeUrls, m_typeBuilder, parser, handler );
m_descriptors = (TypeDescriptor[])typeDescriptors.toArray
( new TypeDescriptor[ typeDescriptors.size() ] );
-
- // Build the service descriptors
- final ArrayList serviceUrls = locateResources(
SERVICE_DESCRIPTOR_NAME, jarUrl );
- final ArrayList serviceDescriptors =
- buildDescriptors( serviceUrls, m_serviceBuilder, parser, handler
);
- m_services = (TypeDescriptor[])serviceDescriptors.toArray
- ( new TypeDescriptor[ serviceDescriptors.size() ] );
}
/**
@@ -155,13 +145,6 @@
TypeDescriptor descriptor = m_descriptors[ i ];
deployTypes( descriptor );
}
-
- // Deploy services
- for( int i = 0; i < m_services.length; i++ )
- {
- final TypeDescriptor descriptor = m_services[ i ];
- deployServices( descriptor );
- }
}
/**
@@ -391,36 +374,6 @@
catch( final Exception e )
{
final String message = REZ.getString( "deploy-types.error",
descriptor.getUrl() );
- throw new DeploymentException( message, e );
- }
- }
-
- /**
- * Deploys all services from a typelib descriptor.
- */
- private void deployServices( final TypeDescriptor descriptor )
- throws DeploymentException
- {
- try
- {
- if( getLogger().isDebugEnabled() )
- {
- final String message =
- REZ.getString( "url-deploy-services.notice",
descriptor.getUrl() );
- getLogger().debug( message );
- }
-
- // Deploy the services
- final TypeDefinition[] definitions = descriptor.getDefinitions();
- for( int i = 0; i < definitions.length; i++ )
- {
- final TypeDefinition definition = definitions[ i ];
- doDeployType( definition );
- }
- }
- catch( Exception e )
- {
- final String message = REZ.getString( "deploy-services.error",
descriptor.getUrl() );
throw new DeploymentException( message, e );
}
}
1.5 +1 -1 jakarta-ant-myrmidon/framework/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/framework/project.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- project.xml 22 Apr 2002 06:52:31 -0000 1.4
+++ project.xml 26 Apr 2002 03:22:24 -0000 1.5
@@ -86,11 +86,11 @@
specification-version="1.0"
implementation-version="1.0"/>
<patternset includes="org/apache/myrmidon/framework/**"/>
- <metainf dir="src/conf" includes="ant-services.xml"/>
</jar>
<jar>
<id>myrmidon-ant1-todo</id>
+ <includeDescriptors>false</includeDescriptors>
<patternset includes="org/apache/tools/todo/**"/>
</jar>
</build>
1.2 +3 -1
jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/factories/ExecManagerFactory.java
Index: ExecManagerFactory.java
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/factories/ExecManagerFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ExecManagerFactory.java 14 Apr 2002 09:30:14 -0000 1.1
+++ ExecManagerFactory.java 26 Apr 2002 03:22:24 -0000 1.2
@@ -19,7 +19,9 @@
* A Factory responsible for creating the ExecManager service.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
- * @version $Revision: 1.1 $ $Date: 2002/04/14 09:30:14 $
+ * @version $Revision: 1.2 $ $Date: 2002/04/26 03:22:24 $
+ *
+ * @ant.service-factory role="exec-manager"
*/
public class ExecManagerFactory
implements ServiceFactory, Contextualizable
1.2 +3 -1
jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/factories/VfsManagerFactory.java
Index: VfsManagerFactory.java
===================================================================
RCS file:
/home/cvs/jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/factories/VfsManagerFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VfsManagerFactory.java 14 Apr 2002 09:30:14 -0000 1.1
+++ VfsManagerFactory.java 26 Apr 2002 03:22:24 -0000 1.2
@@ -17,7 +17,9 @@
* A factory that creates the [EMAIL PROTECTED] FileSystemManager} service.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Adam Murdoch</a>
- * @version $Revision: 1.1 $ $Date: 2002/04/14 09:30:14 $
+ * @version $Revision: 1.2 $ $Date: 2002/04/26 03:22:24 $
+ *
+ * @ant.service-factory role="file-system-manager"
*/
public class VfsManagerFactory
implements ServiceFactory
1.2 +1 -0 jakarta-ant-myrmidon/myrmidon/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/myrmidon/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 25 Apr 2002 08:10:41 -0000 1.1
+++ .cvsignore 26 Apr 2002 03:22:24 -0000 1.2
@@ -4,3 +4,4 @@
*.ipr
build.xml
dist
+distributions
1.2 +4 -4 jakarta-ant-myrmidon/site/src/xdocs/buildfile.xml
Index: buildfile.xml
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/site/src/xdocs/buildfile.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- buildfile.xml 10 Apr 2002 23:43:46 -0000 1.1
+++ buildfile.xml 26 Apr 2002 03:22:24 -0000 1.2
@@ -101,8 +101,8 @@
<subsection name="Library Imports" anchor="antlib-imports">
-<p>Library imports allow the project to import the tasks and data-types from
an
-antlib. An <code><import></code> element takes the following
attributes:</p>
+<p>Library imports allow the project to import tasks and types from an
antlib.
+An <code><import></code> element takes the following attributes:</p>
<table>
<tr><th>Attribute</th><th>Description</th><th>Default Value</th></tr>
@@ -150,8 +150,8 @@
<subsection name="Initialization Tasks" anchor="init-tasks">
-<p>Initialisation tasks are run before any of the project's targets are run,
and
-are used to initialise the project. Any task can be used as an
initialization
+<p>Initialization tasks are run before any of the project's targets are run,
and
+are used to initialize the project. Any task can be used as an
initialization
task, including <code><property></code> and data-type instances. An
example:</p>
<source><![CDATA[
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>