Browse Source

Made model work with Arrays rather than Iterators (more typesafe).

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269060 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
cef6bbb3c3
7 changed files with 32 additions and 27 deletions
  1. +2
    -0
      proposal/myrmidon/src/java/org/apache/ant/Main.java
  2. +7
    -9
      proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java
  3. +2
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java
  4. +9
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java
  5. +0
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/model/DefaultProject.java
  6. +9
    -10
      proposal/myrmidon/src/java/org/apache/myrmidon/model/DefaultTarget.java
  7. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/model/Target.java

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

@@ -311,6 +311,7 @@ public class Main
setupLogger( embeddor );
embeddor.parameterize( parameters );
embeddor.initialize();
embeddor.start();

final ProjectBuilder builder = embeddor.getProjectBuilder();

@@ -350,6 +351,7 @@ public class Main

}

embeddor.stop();
embeddor.dispose();
}



+ 7
- 9
proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java View File

@@ -138,13 +138,12 @@ public class DefaultProjectEngine
done.add( targetName );

//execute all dependencies
final Iterator dependencies = target.getDependencies();
while( dependencies.hasNext() )
final String[] dependencies = target.getDependencies();
for( int i = 0; i < dependencies.length; i++ )
{
final String dependency = (String)dependencies.next();
if( !done.contains( dependency ) )
if( !done.contains( dependencies[ i ] ) )
{
execute( project, dependency, context, done );
execute( project, dependencies[ i ], context, done );
}
}

@@ -210,11 +209,10 @@ public class DefaultProjectEngine
getLogger().debug( "Executing target " + name );

//execute all tasks assciated with target
final Iterator tasks = target.getTasks();
while( tasks.hasNext() )
final Configuration[] tasks = target.getTasks();
for( int i = 0; i < tasks.length; i++ )
{
final Configuration task = (Configuration)tasks.next();
executeTask( task, context );
executeTask( tasks[ i ], context );
}
}



+ 2
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java View File

@@ -10,6 +10,7 @@ package org.apache.myrmidon.components.embeddor;
import org.apache.ant.project.ProjectEngine;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.myrmidon.components.builder.ProjectBuilder;
@@ -20,7 +21,7 @@ import org.apache.myrmidon.components.builder.ProjectBuilder;
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public interface Embeddor
extends Component, Parameterizable, Initializable, Disposable
extends Component, Parameterizable, Initializable, Startable, Disposable
{
/**
* Retrieve builder for runtime.


+ 9
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java View File

@@ -113,10 +113,19 @@ public class MyrmidonEmbeddor
setupComponents();

setupFiles();
}

public void start()
throws Exception
{
CamelotUtil.deployFromDirectory( m_deployer, m_taskLibDir, ".tsk" );
}

public void stop()
{
//Undeploy all the tasks by killing ExecutionFrame???
}

/**
* Dispose engine.
*


+ 0
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/model/DefaultProject.java View File

@@ -9,12 +9,8 @@ package org.apache.myrmidon.model;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.ant.AntException;
import org.apache.myrmidon.api.DefaultTaskContext;
import org.apache.myrmidon.api.TaskContext;

/**
* Default project implementation.


+ 9
- 10
proposal/myrmidon/src/java/org/apache/myrmidon/model/DefaultTarget.java View File

@@ -8,7 +8,6 @@
package org.apache.myrmidon.model;

import java.util.ArrayList;
import java.util.Iterator;
import org.apache.ant.util.Condition;
import org.apache.avalon.framework.configuration.Configuration;

@@ -20,9 +19,9 @@ import org.apache.avalon.framework.configuration.Configuration;
public class DefaultTarget
implements Target
{
protected final ArrayList m_dependencies = new ArrayList();
protected final ArrayList m_tasks = new ArrayList();
protected final Condition m_condition;
private final ArrayList m_dependencies = new ArrayList();
private final ArrayList m_tasks = new ArrayList();
private final Condition m_condition;

/**
* Constructor taking condition for target.
@@ -56,9 +55,9 @@ public class DefaultTarget
*
* @return the dependency list
*/
public Iterator getDependencies()
public String[] getDependencies()
{
return m_dependencies.iterator();
return (String[])m_dependencies.toArray( new String[ 0 ] );
}

/**
@@ -66,9 +65,9 @@ public class DefaultTarget
*
* @return the target list
*/
public Iterator getTasks()
public Configuration[] getTasks()
{
return m_tasks.iterator();
return (Configuration[])m_tasks.toArray( new Configuration[ 0 ] );
}

/**
@@ -86,8 +85,8 @@ public class DefaultTarget
*
* @param taskConfiguration the task representation
*/
public void addTask( final Configuration taskConfiguration )
public void addTask( final Configuration taskData )
{
m_tasks.add( taskConfiguration );
m_tasks.add( taskData );
}
}

+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/model/Target.java View File

@@ -7,9 +7,9 @@
*/
package org.apache.myrmidon.model;

import java.util.Iterator;
import org.apache.ant.util.Condition;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configuration;

/**
* Interface to represent targets in build file.
@@ -24,14 +24,14 @@ public interface Target
*
* @return the dependency list
*/
Iterator getDependencies();
String[] getDependencies();

/**
* Get tasks in target
*
* @return the target list
*/
Iterator getTasks();
Configuration[] getTasks();

/**
* Get condition under which target is executed.


Loading…
Cancel
Save