Browse Source

Workspace doesn't need to know about root Project anymore. Thus interface by embeddor and Workspace can be adapted to pass less parameters.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269255 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
75893cd3bf
4 changed files with 13 additions and 21 deletions
  1. +10
    -14
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java
  2. +2
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java
  3. +0
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultWorkspace.java
  4. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java

+ 10
- 14
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java View File

@@ -122,36 +122,32 @@ public class DefaultEmbeddor
return builder;
}

public Workspace createWorkspace( final Project project,
final Parameters parameters )
public Workspace createWorkspace( final Parameters parameters )
throws Exception
{
final String component = getParameter( Workspace.ROLE );
final Workspace projectManager =
final Workspace workspace =
(Workspace)createComponent( component, Workspace.class );

setupLogger( projectManager );
setupLogger( workspace );


if( projectManager instanceof Composable )
if( workspace instanceof Composable )
{
final DefaultComponentManager componentManager =
new DefaultComponentManager( m_componentManager );
componentManager.put( Project.ROLE, project );
((Composable)projectManager).compose( componentManager );
((Composable)workspace).compose( m_componentManager );
}

if( projectManager instanceof Parameterizable )
if( workspace instanceof Parameterizable )
{
((Parameterizable)projectManager).parameterize( parameters );
((Parameterizable)workspace).parameterize( parameters );
}

if( projectManager instanceof Initializable )
if( workspace instanceof Initializable )
{
((Initializable)projectManager).initialize();
((Initializable)workspace).initialize();
}

return projectManager;
return workspace;
}

/**


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

@@ -38,10 +38,9 @@ public interface Embeddor
/**
* Create a Workspace for a particular project.
*
* @param project the root project
* @param defines the defines in project
* @param defines the defines in workspace
* @return the Workspace
*/
Workspace createWorkspace( Project project, Parameters parameters )
Workspace createWorkspace( Parameters parameters )
throws Exception;
}

+ 0
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultWorkspace.java View File

@@ -53,7 +53,6 @@ public class DefaultWorkspace
private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private ComponentManager m_componentManager;
private Parameters m_parameters;
private Project m_project;
private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap();
private TypeManager m_typeManager;
@@ -88,10 +87,8 @@ public class DefaultWorkspace
throws ComponentException
{
m_componentManager = componentManager;

m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_executor = (Executor)componentManager.lookup( Executor.ROLE );
m_project = (Project)componentManager.lookup( Project.ROLE );
}

public void parameterize( final Parameters parameters )


+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java View File

@@ -353,7 +353,7 @@ public class CLIMain
while( true )
{
//actually do the build ...
final Workspace workspace = embeddor.createWorkspace( project, m_defines );
final Workspace workspace = embeddor.createWorkspace( m_defines );
workspace.addProjectListener( listener );

doBuild( workspace, project, m_targets );


Loading…
Cancel
Save