diff --git a/proposal/myrmidon/lib/avalon-container.jar b/proposal/myrmidon/lib/avalon-container.jar
deleted file mode 100644
index d5633d25a..000000000
Binary files a/proposal/myrmidon/lib/avalon-container.jar and /dev/null differ
diff --git a/proposal/myrmidon/lib/avalon-framework.jar b/proposal/myrmidon/lib/avalon-framework.jar
index 85ef2939e..8d96f32e1 100644
Binary files a/proposal/myrmidon/lib/avalon-framework.jar and b/proposal/myrmidon/lib/avalon-framework.jar differ
diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java
index 068316bc1..c4dbd601a 100644
--- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java
+++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterConverter.java
@@ -10,7 +10,6 @@ package org.apache.ant.modules.core;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
-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;
@@ -18,6 +17,7 @@ import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.components.converter.ConverterInfo;
import org.apache.myrmidon.components.converter.ConverterRegistry;
+import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.deployer.TskDeployer;
import org.apache.myrmidon.components.type.DefaultComponentFactory;
import org.apache.myrmidon.components.type.TypeManager;
diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterDataType.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterDataType.java
index 871b26a15..e4e78ae7e 100644
--- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterDataType.java
+++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterDataType.java
@@ -8,8 +8,9 @@
package org.apache.ant.modules.core;
import java.net.URL;
-import org.apache.avalon.framework.camelot.DeploymentException;
+import org.apache.myrmidon.api.DataType;
import org.apache.myrmidon.api.TaskException;
+import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.type.DefaultComponentFactory;
/**
@@ -35,10 +36,10 @@ public class RegisterDataType
}
else
{
- final DefaultComponentFactory factory =
+ final DefaultComponentFactory factory =
new DefaultComponentFactory( new URL[] { url } );
factory.addNameClassMapping( name, className );
- try { getTypeManager().registerType( "org.apache.ant.tasklet.DataType", name, factory ); }
+ try { getTypeManager().registerType( DataType.ROLE, name, factory ); }
catch( final Exception e )
{
throw new TaskException( "Failed registering " + name + " from " + url, e );
diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java
index f235f9087..e24a9bac4 100644
--- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java
+++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java
@@ -8,9 +8,9 @@
package org.apache.ant.modules.core;
import java.net.URL;
-import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskException;
+import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.type.DefaultComponentFactory;
/**
@@ -36,7 +36,7 @@ public class RegisterTasklet
}
else
{
- final DefaultComponentFactory factory =
+ final DefaultComponentFactory factory =
new DefaultComponentFactory( new URL[] { url } );
factory.addNameClassMapping( name, className );
try { getTypeManager().registerType( Task.ROLE, name, factory ); }
diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java
index 357dec84f..c919defcd 100644
--- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java
+++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklib.java
@@ -10,12 +10,12 @@ package org.apache.ant.modules.core;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
-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.myrmidon.api.TaskException;
import org.apache.myrmidon.api.AbstractTask;
+import org.apache.myrmidon.api.TaskException;
+import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.deployer.TskDeployer;
/**
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java b/proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java
index c34a06969..45a58eda1 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java
@@ -12,7 +12,7 @@ package org.apache.myrmidon;
*
* @author Peter Donald
*/
-interface Constants
+public interface Constants
{
//Constants to indicate the build of Ant/Myrmidon
String BUILD_DATE = "@@DATE@@";
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
index 9d9bee705..e014ee872 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
@@ -9,28 +9,23 @@ package org.apache.myrmidon.components.deployer;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
-import org.apache.avalon.framework.camelot.AbstractDeployer;
-import org.apache.avalon.framework.camelot.DefaultLocator;
-import org.apache.avalon.framework.camelot.DeployerUtil;
-import org.apache.avalon.framework.camelot.DeploymentException;
-import org.apache.avalon.framework.camelot.Loader;
-import org.apache.avalon.framework.camelot.Registry;
-import org.apache.avalon.framework.camelot.RegistryException;
import org.apache.avalon.framework.component.Component;
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.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.logger.Loggable;
-import org.apache.log.Logger;
+import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
+import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.myrmidon.api.Task;
+import org.apache.myrmidon.api.DataType;
import org.apache.myrmidon.components.converter.ConverterInfo;
import org.apache.myrmidon.components.converter.ConverterRegistry;
import org.apache.myrmidon.components.executor.Executor;
@@ -38,6 +33,7 @@ import org.apache.myrmidon.components.type.ComponentFactory;
import org.apache.myrmidon.components.type.DefaultComponentFactory;
import org.apache.myrmidon.components.type.TypeManager;
import org.apache.myrmidon.converter.Converter;
+import org.xml.sax.SAXException;
/**
* This class deploys a .tsk file into a registry.
@@ -45,21 +41,22 @@ import org.apache.myrmidon.converter.Converter;
* @author Peter Donald
*/
public class DefaultTskDeployer
- extends AbstractDeployer
- implements Composable, TskDeployer, Loggable
+ extends AbstractLoggable
+ implements Composable, TskDeployer
{
private final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml";
- private ConverterRegistry m_converterInfoRegistry;
- private TypeManager m_typeManager;
+ private DefaultConfigurationBuilder m_configurationBuilder;
+ private ConverterRegistry m_converterInfoRegistry;
+ private TypeManager m_typeManager;
/**
* Default constructor.
*/
public DefaultTskDeployer()
{
- m_autoUndeploy = true;
- m_type = "Task";
+ //m_autoUndeploy = true;
+ //m_type = "Task";
}
/**
@@ -75,6 +72,16 @@ public class DefaultTskDeployer
m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
}
+ public void deploy( final String location, final URL url )
+ throws DeploymentException
+ {
+ //checkDeployment( location, url );
+ final File file = getFileFor( url );
+
+ getLogger().info( "Deploying AntLib file (" + file + ") as " + location );
+ deployFromFile( location, file );
+ }
+
/**
* Deploy a file.
* Eventually this should be cached for performance reasons.
@@ -86,7 +93,7 @@ public class DefaultTskDeployer
protected void deployFromFile( final String location, final File file )
throws DeploymentException
{
- final ZipFile zipFile = DeployerUtil.getZipFileFor( file );
+ final ZipFile zipFile = getZipFileFor( file );
URL url = null;
@@ -109,7 +116,7 @@ public class DefaultTskDeployer
private void loadResources( final ZipFile zipFile, final String location, final URL url )
throws DeploymentException
{
- final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
+ final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE );
final DefaultComponentFactory factory =
new DefaultComponentFactory( new URL[] { url } );
@@ -147,9 +154,9 @@ public class DefaultTskDeployer
public void deployConverter( String name, String location, URL url )
throws DeploymentException
{
- checkDeployment( location, url );
- final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
- final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
+ //checkDeployment( location, url );
+ final ZipFile zipFile = getZipFileFor( getFileFor( url ) );
+ final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE );
try
{
@@ -178,10 +185,10 @@ public class DefaultTskDeployer
public void deployDataType( final String name, final String location, final URL url )
throws DeploymentException
{
- checkDeployment( location, url );
- final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
+ //checkDeployment( location, url );
+ final ZipFile zipFile = getZipFileFor( getFileFor( url ) );
final Configuration datatypedefs =
- DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
+ loadConfiguration( zipFile, TSKDEF_FILE );
try
{
@@ -210,9 +217,9 @@ public class DefaultTskDeployer
public void deployTask( final String name, final String location, final URL url )
throws DeploymentException
{
- checkDeployment( location, url );
- final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
- final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
+ //checkDeployment( location, url );
+ final ZipFile zipFile = getZipFileFor( getFileFor( url ) );
+ final Configuration taskdefs = loadConfiguration( zipFile, TSKDEF_FILE );
try
{
@@ -238,6 +245,106 @@ public class DefaultTskDeployer
}
}
+ private DefaultConfigurationBuilder getBuilder()
+ {
+ if( null == m_configurationBuilder )
+ {
+ m_configurationBuilder = new DefaultConfigurationBuilder();
+ }
+
+ return m_configurationBuilder;
+ }
+
+ /**
+ * Retrieve zip file for file.
+ *
+ * @param file the file
+ * @return the zipFile
+ * @exception DeploymentException if an error occurs
+ */
+ private ZipFile getZipFileFor( final File file )
+ throws DeploymentException
+ {
+ try { return new ZipFile( file ); }
+ catch( final IOException ioe )
+ {
+ throw new DeploymentException( "Error opening " + file +
+ " due to " + ioe.getMessage(),
+ ioe );
+ }
+ }
+
+ /**
+ * Utility method to load configuration from zip.
+ *
+ * @param zipFile the zip file
+ * @param filename the property filename
+ * @return the Configuration
+ * @exception DeploymentException if an error occurs
+ */
+ private Configuration loadConfiguration( final ZipFile zipFile, final String filename )
+ throws DeploymentException
+ {
+ return buildConfiguration( loadResourceStream( zipFile, filename ) );
+ }
+
+ /**
+ * Build a configuration tree based on input stream.
+ *
+ * @param input the InputStream
+ * @return the Configuration tree
+ * @exception DeploymentException if an error occurs
+ */
+ private Configuration buildConfiguration( final InputStream input )
+ throws DeploymentException
+ {
+ try { return getBuilder().build( input ); }
+ catch( final SAXException se )
+ {
+ throw new DeploymentException( "Malformed configuration data", se );
+ }
+ catch( final ConfigurationException ce )
+ {
+ throw new DeploymentException( "Error building configuration", ce );
+ }
+ catch( final IOException ioe )
+ {
+ throw new DeploymentException( "Error reading configuration", ioe );
+ }
+ }
+
+ private File getFileFor( final URL url )
+ throws DeploymentException
+ {
+ File file = null;
+
+ if( url.getProtocol().equals( "file" ) )
+ {
+ file = new File( url.getFile() );
+ }
+ else
+ {
+ throw new DeploymentException( "Currently unable to deploy non-local " +
+ "archives (" + url + ")" );
+ }
+
+ file = file.getAbsoluteFile();
+
+ if( !file.exists() )
+ {
+ throw new DeploymentException( "Could not find application archive at " +
+ file );
+ }
+
+ if( file.isDirectory() )
+ {
+ throw new DeploymentException( "Could not find application archive at " +
+ file + " as it is a directory." );
+ }
+
+ return file;
+ }
+
private void handleConverter( final Configuration converter,
final URL url,
final DefaultComponentFactory factory )
@@ -281,8 +388,37 @@ public class DefaultTskDeployer
final String className = datatype.getAttribute( "classname" );
factory.addNameClassMapping( name, className );
- m_typeManager.registerType( "org.apache.ant.tasklet.DataType", name, factory );
+ m_typeManager.registerType( DataType.ROLE, name, factory );
getLogger().debug( "Registered datatype " + name + " as " + className );
}
+
+
+ /**
+ * Load a resource from a zip file.
+ *
+ * @param zipFile the ZipFile
+ * @param filename the filename
+ * @return the InputStream
+ * @exception DeploymentException if an error occurs
+ */
+ private InputStream loadResourceStream( final ZipFile zipFile, final String filename )
+ throws DeploymentException
+ {
+ final ZipEntry entry = zipFile.getEntry( filename );
+
+ if( null == entry )
+ {
+ throw new DeploymentException( "Unable to locate " + filename +
+ " in " + zipFile.getName() );
+ }
+
+ try { return zipFile.getInputStream( entry ); }
+ catch( final IOException ioe )
+ {
+ throw new DeploymentException( "Error reading " + filename +
+ " from " + zipFile.getName(),
+ ioe );
+ }
+ }
}
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DeploymentException.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DeploymentException.java
new file mode 100644
index 000000000..78881f8da
--- /dev/null
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DeploymentException.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) The Apache Software Foundation. All rights reserved.
+ *
+ * This software is published under the terms of the Apache Software License
+ * version 1.1, a copy of which has been included with this distribution in
+ * the LICENSE file.
+ */
+package org.apache.myrmidon.components.deployer;
+
+import org.apache.avalon.framework.CascadingException;
+
+/**
+ * Exception to indicate error deploying.
+ *
+ * @author Peter Donald
+ */
+public final class DeploymentException
+ extends CascadingException
+{
+ /**
+ * Construct a new DeploymentException
instance.
+ *
+ * @param message The detail message for this exception.
+ */
+ public DeploymentException( final String message )
+ {
+ this( message, null );
+ }
+
+ /**
+ * Construct a new DeploymentException
instance.
+ *
+ * @param message The detail message for this exception.
+ * @param throwable the root cause of the exception
+ */
+ public DeploymentException( final String message, final Throwable throwable )
+ {
+ super( message, throwable );
+ }
+}
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java
index d12e79e65..3a7d9cc99 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/TskDeployer.java
@@ -8,8 +8,7 @@
package org.apache.myrmidon.components.deployer;
import java.net.URL;
-import org.apache.avalon.framework.camelot.Deployer;
-import org.apache.avalon.framework.camelot.DeploymentException;
+import org.apache.avalon.framework.component.Component;
/**
* This class deploys a .tsk file into a registry.
@@ -17,10 +16,20 @@ import org.apache.avalon.framework.camelot.DeploymentException;
* @author Peter Donald
*/
public interface TskDeployer
- extends Deployer
+ extends Component
{
String ROLE = "org.apache.myrmidon.components.deployer.TskDeployer";
+ /**
+ * Deploy a resource indicate by url to location.
+ *
+ * @param location the location to deploy to
+ * @param url the url of deployment
+ * @exception DeploymentException if an error occurs
+ */
+ void deploy( String location, URL url )
+ throws DeploymentException;
+
void deployConverter( String name, String location, URL url )
throws DeploymentException;
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java
index 8bb0fe78d..c7c49b591 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java
@@ -7,15 +7,13 @@
*/
package org.apache.myrmidon.components.embeddor;
+import org.apache.avalon.excalibur.io.ExtensionFileFilter;
import java.io.File;
+import java.io.FilenameFilter;
import org.apache.myrmidon.components.converter.MasterConverter;
import org.apache.myrmidon.components.converter.ConverterRegistry;
import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.camelot.CamelotUtil;
-import org.apache.avalon.framework.camelot.DefaultFactory;
-import org.apache.avalon.framework.camelot.Deployer;
-import org.apache.avalon.framework.camelot.Factory;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.component.DefaultComponentManager;
@@ -26,6 +24,7 @@ import org.apache.myrmidon.api.JavaVersion;
import org.apache.myrmidon.components.builder.ProjectBuilder;
import org.apache.myrmidon.components.configurer.Configurer;
import org.apache.myrmidon.components.deployer.TskDeployer;
+import org.apache.myrmidon.components.deployer.DeploymentException;
import org.apache.myrmidon.components.executor.Executor;
import org.apache.myrmidon.components.manager.ProjectManager;
import org.apache.myrmidon.components.type.TypeManager;
@@ -119,7 +118,8 @@ public class MyrmidonEmbeddor
public void start()
throws Exception
{
- CamelotUtil.deployFromDirectory( m_deployer, m_taskLibDir, ".tsk" );
+ final ExtensionFileFilter filter = new ExtensionFileFilter( ".tsk" );
+ deployFromDirectory( m_deployer, m_taskLibDir, filter );
}
public void stop()
@@ -228,7 +228,7 @@ public class MyrmidonEmbeddor
component = getParameter( ConverterRegistry.ROLE );
m_converterRegistry = (ConverterRegistry)createComponent( component, ConverterRegistry.class );
- component = getParameter( "org.apache.myrmidon.components.converter.MasterConverter" );
+ component = getParameter( MasterConverter.ROLE );
m_converter = (MasterConverter)createComponent( component, MasterConverter.class );
component = getParameter( Configurer.ROLE );
@@ -422,4 +422,47 @@ public class MyrmidonEmbeddor
" (" + component + ")" );
}
}
+
+
+ private void deployFromDirectory( final TskDeployer deployer,
+ final File directory,
+ final FilenameFilter filter )
+ throws DeploymentException
+ {
+ final File[] files = directory.listFiles( filter );
+
+ if( null != files )
+ {
+ deployFiles( deployer, files );
+ }
+ }
+
+ private void deployFiles( final TskDeployer deployer, final File[] files )
+ throws DeploymentException
+ {
+ for( int i = 0; i < files.length; i++ )
+ {
+ final String filename = files[ i ].getName();
+
+ int index = filename.lastIndexOf( '.' );
+ if( -1 == index ) index = filename.length();
+
+ final String name = filename.substring( 0, index );
+
+ try
+ {
+ final File file = files[ i ].getCanonicalFile();
+ deployer.deploy( name, file.toURL() );
+ }
+ catch( final DeploymentException de )
+ {
+ throw de;
+ }
+ catch( final Exception e )
+ {
+ throw new DeploymentException( "Unable to retrieve filename for file " +
+ files[ i ], e );
+ }
+ }
+ }
}
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/Main.java b/proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java
similarity index 98%
rename from proposal/myrmidon/src/java/org/apache/myrmidon/Main.java
rename to proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java
index 573603f9b..a42157b1b 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/Main.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java
@@ -5,7 +5,7 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-package org.apache.myrmidon;
+package org.apache.myrmidon.frontends;
import java.io.BufferedReader;
import java.io.File;
@@ -32,6 +32,7 @@ import org.apache.log.Hierarchy;
import org.apache.log.LogTarget;
import org.apache.log.Logger;
import org.apache.log.Priority;
+import org.apache.myrmidon.Constants;
import org.apache.myrmidon.api.DefaultTaskContext;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException;
@@ -50,7 +51,7 @@ import org.apache.myrmidon.listeners.ProjectListener;
*
* @author Peter Donald
*/
-public class Main
+public class CLIMain
extends AbstractLoggable
{
//defines for the Command Line options
@@ -98,7 +99,7 @@ public class Main
*/
public static void main( final String[] args )
{
- final Main main = new Main();
+ final CLIMain main = new CLIMain();
try { main.execute( args ); }
catch( final Throwable throwable )
@@ -225,8 +226,8 @@ public class Main
case VERSION_OPT: System.out.println( Constants.BUILD_DESCRIPTION ); return false;
case HOME_DIR_OPT: m_parameters.setParameter( "myrmidon.home", option.getArgument() ); break;
- case TASKLIB_DIR_OPT:
- m_parameters.setParameter( "myrmidon.lib.path", option.getArgument() );
+ case TASKLIB_DIR_OPT:
+ m_parameters.setParameter( "myrmidon.lib.path", option.getArgument() );
break;
case LOG_LEVEL_OPT: m_parameters.setParameter( "log.level", option.getArgument() ); break;
@@ -323,7 +324,7 @@ public class Main
{
//actually do the build ...
final TaskContext context = new DefaultTaskContext();
-
+
//Add CLI m_defines
addToContext( context, m_defines );
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java b/proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java
index 62fd43c55..9249376c4 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java
@@ -45,7 +45,7 @@ public final class Main
final URLClassLoader classLoader = new URLClassLoader( urls );
//load class and retrieve appropriate main method.
- final Class clazz = classLoader.loadClass( "org.apache.myrmidon.Main" );
+ final Class clazz = classLoader.loadClass( "org.apache.myrmidon.frontends.CLIMain" );
final Method method = clazz.getMethod( "main", new Class[] { args.getClass() } );
Thread.currentThread().setContextClassLoader( classLoader );
diff --git a/proposal/myrmidon/src/manifest/myrmidon-manifest.mf b/proposal/myrmidon/src/manifest/myrmidon-manifest.mf
index 5bd286f4e..78fbb354d 100644
--- a/proposal/myrmidon/src/manifest/myrmidon-manifest.mf
+++ b/proposal/myrmidon/src/manifest/myrmidon-manifest.mf
@@ -1,4 +1,3 @@
Manifest-Version: 1.0
-Main-Class: org.apache.myrmidon.Main
-Class-Path: avalonapi.jar
+Main-Class: org.apache.myrmidon.frontends.CLIMain
Created-By: Apache Ant Project
\ No newline at end of file