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.io.ExtensionFileFilter;
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.parameters.Parameters;
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.URL;
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.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.camelot.RegistryException;
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.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.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public abstract class AbstractResourceRegisterer
public abstract class AbstractResourceRegisterer
extends AbstractTask
implements Composable
{
@@ -43,7 +43,7 @@ public abstract class AbstractResourceRegisterer
lookup( "org.apache.myrmidon.components.executor.Executor" );

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

m_dataTypeEngine = (DataTypeEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" );
@@ -53,12 +53,12 @@ public abstract class AbstractResourceRegisterer
{
m_lib = lib;
}
public void setName( final String name )
{
m_name = name;
}
public void setClassname( final String classname )
{
m_classname = classname;
@@ -73,10 +73,10 @@ public abstract class AbstractResourceRegisterer
}
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" );
}
final URL url = getURL( m_lib );

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.DefaultConverterInfo;
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.ComponentException;
import org.apache.avalon.framework.component.Composable;
@@ -42,7 +42,7 @@ public class RegisterConverter
throws ComponentException
{
m_tskDeployer = (TskDeployer)componentManager.
lookup( "org.apache.ant.tasklet.engine.TskDeployer" );
lookup( "org.apache.myrmidon.components.deployer.TskDeployer" );

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

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;

import org.apache.ant.AntException;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
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.
* 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
* the LICENSE file.
*/
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.deployer;

import java.io.File;
import java.io.IOException;
@@ -15,6 +15,7 @@ import java.util.Iterator;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
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.ConverterRegistry;
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.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.Loggable;
import org.apache.log.Logger;
import org.apache.myrmidon.components.executor.Executor;

@@ -42,7 +44,7 @@ import org.apache.myrmidon.components.executor.Executor;
*/
public class DefaultTskDeployer
extends AbstractDeployer
implements Composable, TskDeployer
implements Composable, TskDeployer, Loggable
{
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 " +
source + " to " + destination );
source + " to " + destination );
}

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
* the LICENSE file.
*/
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.deployer;

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

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

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

void deployTask( String name, String location, URL url )
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.convert.engine.ConverterEngine;
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.framework.activity.Initializable;
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.executor.Executor;
import org.apache.myrmidon.components.manager.ProjectManager;
import org.apache.myrmidon.components.deployer.TskDeployer;

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

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

componentManager.put( "org.apache.myrmidon.components.manager.ProjectManager", m_projectEngine );
componentManager.put( "org.apache.ant.convert.engine.ConverterEngine",
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.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 );

//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.executor.Executor", m_executor );



Loading…
Cancel
Save