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; return builder;
} }


public Workspace createWorkspace( final Project project,
final Parameters parameters )
public Workspace createWorkspace( final Parameters parameters )
throws Exception throws Exception
{ {
final String component = getParameter( Workspace.ROLE ); final String component = getParameter( Workspace.ROLE );
final Workspace projectManager =
final Workspace workspace =
(Workspace)createComponent( component, Workspace.class ); (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. * 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 * @return the Workspace
*/ */
Workspace createWorkspace( Project project, Parameters parameters )
Workspace createWorkspace( Parameters parameters )
throws Exception; 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 ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private ComponentManager m_componentManager; private ComponentManager m_componentManager;
private Parameters m_parameters; private Parameters m_parameters;
private Project m_project;
private TaskContext m_baseContext; private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap(); private HashMap m_entrys = new HashMap();
private TypeManager m_typeManager; private TypeManager m_typeManager;
@@ -88,10 +87,8 @@ public class DefaultWorkspace
throws ComponentException throws ComponentException
{ {
m_componentManager = componentManager; m_componentManager = componentManager;

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


public void parameterize( final Parameters parameters ) 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 ) while( true )
{ {
//actually do the build ... //actually do the build ...
final Workspace workspace = embeddor.createWorkspace( project, m_defines );
final Workspace workspace = embeddor.createWorkspace( m_defines );
workspace.addProjectListener( listener ); workspace.addProjectListener( listener );


doBuild( workspace, project, m_targets ); doBuild( workspace, project, m_targets );


Loading…
Cancel
Save