Browse Source

Moved TskDeployer into separate directory.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269065 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
2f4b71ebb9
8 changed files with 50 additions and 38 deletions
  1. +0
    -5
      proposal/myrmidon/src/java/org/apache/ant/Main.java
  2. +11
    -11
      proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java
  3. +2
    -2
      proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java
  4. +7
    -7
      proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java
  5. +11
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java
  6. +5
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
  7. +4
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java
  8. +10
    -5
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java

+ 0
- 5
proposal/myrmidon/src/java/org/apache/ant/Main.java View File

@@ -26,11 +26,6 @@ import org.apache.avalon.excalibur.cli.CLOptionDescriptor;
import org.apache.avalon.excalibur.cli.CLUtil; import org.apache.avalon.excalibur.cli.CLUtil;
import org.apache.avalon.excalibur.io.ExtensionFileFilter; import org.apache.avalon.excalibur.io.ExtensionFileFilter;
import org.apache.avalon.framework.ExceptionUtil; import org.apache.avalon.framework.ExceptionUtil;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.camelot.CamelotUtil;
import org.apache.avalon.framework.camelot.Deployer;
import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.avalon.framework.logger.AbstractLoggable; import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.log.Hierarchy; import org.apache.log.Hierarchy;


+ 11
- 11
proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java View File

@@ -11,21 +11,21 @@ import java.io.File;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.myrmidon.components.executor.Executor;
import org.apache.ant.tasklet.engine.DataTypeEngine; import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.camelot.RegistryException;
import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.camelot.RegistryException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.components.deployer.TskDeployer;
import org.apache.myrmidon.components.executor.Executor;


/** /**
* Method to register a single tasklet. * Method to register a single tasklet.
* *
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a> * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/ */
public abstract class AbstractResourceRegisterer
public abstract class AbstractResourceRegisterer
extends AbstractTask extends AbstractTask
implements Composable implements Composable
{ {
@@ -43,7 +43,7 @@ public abstract class AbstractResourceRegisterer
lookup( "org.apache.myrmidon.components.executor.Executor" ); lookup( "org.apache.myrmidon.components.executor.Executor" );


m_tskDeployer = (TskDeployer)componentManager. m_tskDeployer = (TskDeployer)componentManager.
lookup( "org.apache.ant.tasklet.engine.TskDeployer" );
lookup( "org.apache.myrmidon.components.deployer.TskDeployer" );


m_dataTypeEngine = (DataTypeEngine)componentManager. m_dataTypeEngine = (DataTypeEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" ); lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" );
@@ -53,12 +53,12 @@ public abstract class AbstractResourceRegisterer
{ {
m_lib = lib; m_lib = lib;
} }
public void setName( final String name ) public void setName( final String name )
{ {
m_name = name; m_name = name;
} }
public void setClassname( final String classname ) public void setClassname( final String classname )
{ {
m_classname = classname; m_classname = classname;
@@ -73,10 +73,10 @@ public abstract class AbstractResourceRegisterer
} }
else if( null == m_lib && null == m_classname ) else if( null == m_lib && null == m_classname )
{ {
throw new AntException( "Must specify classname if you don't specify " +
throw new AntException( "Must specify classname if you don't specify " +
"lib parameter" ); "lib parameter" );
} }
final URL url = getURL( m_lib ); final URL url = getURL( m_lib );


try try


+ 2
- 2
proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java View File

@@ -14,7 +14,7 @@ import org.apache.ant.AntException;
import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.ant.convert.engine.DefaultConverterInfo; import org.apache.ant.convert.engine.DefaultConverterInfo;
import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.AbstractTask;
import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.myrmidon.components.deployer.TskDeployer;
import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
@@ -42,7 +42,7 @@ public class RegisterConverter
throws ComponentException throws ComponentException
{ {
m_tskDeployer = (TskDeployer)componentManager. m_tskDeployer = (TskDeployer)componentManager.
lookup( "org.apache.ant.tasklet.engine.TskDeployer" );
lookup( "org.apache.myrmidon.components.deployer.TskDeployer" );


m_converterEngine = (ConverterEngine)componentManager. m_converterEngine = (ConverterEngine)componentManager.
lookup( "org.apache.ant.convert.engine.ConverterEngine" ); lookup( "org.apache.ant.convert.engine.ConverterEngine" );


+ 7
- 7
proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java View File

@@ -11,25 +11,25 @@ import java.io.File;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.components.deployer.TskDeployer;


/** /**
* Method to register a tasklib. * Method to register a tasklib.
* *
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a> * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/ */
public class RegisterTasklib
public class RegisterTasklib
extends AbstractTask extends AbstractTask
implements Composable implements Composable
{ {
protected String m_lib; protected String m_lib;
protected TskDeployer m_tskDeployer; protected TskDeployer m_tskDeployer;
public void compose( final ComponentManager componentManager ) public void compose( final ComponentManager componentManager )
throws ComponentException throws ComponentException
{ {
@@ -49,7 +49,7 @@ public class RegisterTasklib
{ {
throw new AntException( "Must specify lib parameter" ); throw new AntException( "Must specify lib parameter" );
} }
URL url = null; URL url = null;


final File lib = getContext().resolveFile( m_lib ); final File lib = getContext().resolveFile( m_lib );


+ 11
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.api; package org.apache.myrmidon.api;


import org.apache.ant.AntException;
import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Context;
@@ -46,6 +45,17 @@ public abstract class AbstractTask
{ {
} }


/**
* Execute task.
* This method is called to perform actual work associated with task.
* It is called after Task has been Configured and Initialized and before
* beig Disposed (If task implements appropriate interfaces).
*
* @exception Exception if an error occurs
*/
public abstract void execute()
throws Exception;

/** /**
* This will be called after execute() method. * This will be called after execute() method.
* Use this to clean up any resources associated with task. * Use this to clean up any resources associated with task.


proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java → proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java View File

@@ -5,7 +5,7 @@
* version 1.1, a copy of which has been included with this distribution in * version 1.1, a copy of which has been included with this distribution in
* the LICENSE file. * the LICENSE file.
*/ */
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.deployer;


import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -15,6 +15,7 @@ import java.util.Iterator;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipException; import java.util.zip.ZipException;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.ant.convert.engine.ConverterRegistry; import org.apache.ant.convert.engine.ConverterRegistry;
import org.apache.ant.convert.engine.DefaultConverterInfo; import org.apache.ant.convert.engine.DefaultConverterInfo;
@@ -32,6 +33,7 @@ import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.Loggable;
import org.apache.log.Logger; import org.apache.log.Logger;
import org.apache.myrmidon.components.executor.Executor; import org.apache.myrmidon.components.executor.Executor;


@@ -42,7 +44,7 @@ import org.apache.myrmidon.components.executor.Executor;
*/ */
public class DefaultTskDeployer public class DefaultTskDeployer
extends AbstractDeployer extends AbstractDeployer
implements Composable, TskDeployer
implements Composable, TskDeployer, Loggable
{ {
private final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml"; private final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml";


@@ -253,7 +255,7 @@ public class DefaultTskDeployer
} }


getLogger().debug( "Registered converter " + name + " that converts from " + getLogger().debug( "Registered converter " + name + " that converts from " +
source + " to " + destination );
source + " to " + destination );
} }


private void handleTask( final Configuration task, final URL url ) private void handleTask( final Configuration task, final URL url )

proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java → proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java View File

@@ -5,12 +5,12 @@
* version 1.1, a copy of which has been included with this distribution in * version 1.1, a copy of which has been included with this distribution in
* the LICENSE file. * the LICENSE file.
*/ */
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.deployer;


import java.net.URL; import java.net.URL;
import org.apache.avalon.framework.logger.Loggable;
import org.apache.avalon.framework.camelot.Deployer; import org.apache.avalon.framework.camelot.Deployer;
import org.apache.avalon.framework.camelot.DeploymentException; import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.avalon.framework.logger.Loggable;
import org.apache.log.Logger; import org.apache.log.Logger;


/** /**
@@ -19,13 +19,13 @@ import org.apache.log.Logger;
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a> * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/ */
public interface TskDeployer public interface TskDeployer
extends Deployer, Loggable
extends Deployer
{ {
void deployConverter( String name, String location, URL url ) void deployConverter( String name, String location, URL url )
throws DeploymentException; throws DeploymentException;


void deployDataType( String name, String location, URL url ) void deployDataType( String name, String location, URL url )
throws DeploymentException;
throws DeploymentException;


void deployTask( String name, String location, URL url ) void deployTask( String name, String location, URL url )
throws DeploymentException; throws DeploymentException;

+ 10
- 5
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java View File

@@ -11,7 +11,6 @@ import java.io.File;
import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.ant.tasklet.engine.DataTypeEngine; import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.avalon.excalibur.io.FileUtil; import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.camelot.CamelotUtil; import org.apache.avalon.framework.camelot.CamelotUtil;
@@ -29,6 +28,7 @@ import org.apache.myrmidon.components.builder.ProjectBuilder;
import org.apache.myrmidon.components.configurer.Configurer; import org.apache.myrmidon.components.configurer.Configurer;
import org.apache.myrmidon.components.executor.Executor; import org.apache.myrmidon.components.executor.Executor;
import org.apache.myrmidon.components.manager.ProjectManager; import org.apache.myrmidon.components.manager.ProjectManager;
import org.apache.myrmidon.components.deployer.TskDeployer;


/** /**
* Default implementation of Ant runtime. * Default implementation of Ant runtime.
@@ -178,7 +178,7 @@ public class MyrmidonEmbeddor
defaults.setParameter( "ant.comp.builder", defaults.setParameter( "ant.comp.builder",
"org.apache.myrmidon.components.builder.DefaultProjectBuilder" ); "org.apache.myrmidon.components.builder.DefaultProjectBuilder" );
defaults.setParameter( "ant.comp.deployer", defaults.setParameter( "ant.comp.deployer",
"org.apache.ant.tasklet.engine.DefaultTskDeployer" );
"org.apache.myrmidon.components.deployer.DefaultTskDeployer" );
defaults.setParameter( "ant.comp.configurer", defaults.setParameter( "ant.comp.configurer",
"org.apache.myrmidon.components.configurer.DefaultConfigurer" ); "org.apache.myrmidon.components.configurer.DefaultConfigurer" );


@@ -194,15 +194,20 @@ public class MyrmidonEmbeddor
{ {
final DefaultComponentManager componentManager = new DefaultComponentManager(); final DefaultComponentManager componentManager = new DefaultComponentManager();


componentManager.put( "org.apache.myrmidon.components.manager.ProjectManager", m_projectEngine );
componentManager.put( "org.apache.ant.convert.engine.ConverterEngine", componentManager.put( "org.apache.ant.convert.engine.ConverterEngine",
m_converterEngine ); m_converterEngine );
componentManager.put( "org.apache.ant.convert.Converter", m_converterEngine ); componentManager.put( "org.apache.ant.convert.Converter", m_converterEngine );
componentManager.put( "org.apache.ant.tasklet.engine.DataTypeEngine", m_dataTypeEngine ); componentManager.put( "org.apache.ant.tasklet.engine.DataTypeEngine", m_dataTypeEngine );
componentManager.put( "org.apache.myrmidon.components.builder.ProjectBuilder", m_builder );
componentManager.put( "org.apache.ant.tasklet.engine.TskDeployer", m_deployer );
componentManager.put( "org.apache.avalon.framework.camelot.Factory", m_factory ); componentManager.put( "org.apache.avalon.framework.camelot.Factory", m_factory );


//Following components required when Myrmidon is used as build tool
componentManager.put( "org.apache.myrmidon.components.manager.ProjectManager", m_projectEngine );
componentManager.put( "org.apache.myrmidon.components.builder.ProjectBuilder", m_builder );

//Following components required when Myrmidon allows user deployment of tasks etal.
componentManager.put( "org.apache.myrmidon.components.deployer.TskDeployer", m_deployer );

//Following components required when allowing Container tasks
componentManager.put( "org.apache.myrmidon.components.configurer.Configurer", m_configurer ); componentManager.put( "org.apache.myrmidon.components.configurer.Configurer", m_configurer );
componentManager.put( "org.apache.myrmidon.components.executor.Executor", m_executor ); componentManager.put( "org.apache.myrmidon.components.executor.Executor", m_executor );




Loading…
Cancel
Save