brett       2005/04/13 20:27:35

  Modified:    maven-core/src/main/java/org/apache/maven/plugin
                        DefaultPluginManager.java MavenMojoDescriptor.java
                        PluginParameterExpressionEvaluator.java
               
maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/jelly
                        JellyHarnessGenerator.java
               
maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator
                        PluginDescriptorGenerator.java
               
maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor
                        MojoDescriptor.java PluginDescriptorBuilder.java
               
maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade/tags
                        MetadataTag.java
  Log:
  convert #component expressions to <requirements/>
  
  Revision  Changes    Path
  1.79      +11 -8     
maven-components/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
  
  Index: DefaultPluginManager.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- DefaultPluginManager.java 13 Apr 2005 18:44:13 -0000      1.78
  +++ DefaultPluginManager.java 14 Apr 2005 03:27:35 -0000      1.79
  @@ -392,14 +392,18 @@
                   configuration = new XmlPlexusConfiguration( dom );
               }
   
  -            Map map = getPluginConfigurationFromExpressions( mojoDescriptor, 
configuration, session );
  -
               if ( newMojoTechnique )
               {
  +                Map map = getPluginConfigurationFromExpressions( 
mojoDescriptor, configuration, session );
  +
                   populatePluginFields( plugin, configuration, map );
               }
               else
               {
  +                getLogger().warn( "WARNING: The mojo " + 
mojoDescriptor.getId() + " is using the OLD API" );
  +
  +                Map map = getPluginConfigurationFromExpressions( 
mojoDescriptor, configuration, session );
  +
                   request = createPluginRequest( configuration, map );
               }
   
  @@ -684,12 +688,11 @@
       public void initialize()
       {
           // TODO: configure this from bootstrap or scan lib
  -        artifactFilter = new ExclusionSetFilter( new String[]{"maven-core", 
"maven-artifact", "maven-model",
  -                                                              
"maven-settings", "maven-monitor", "maven-plugin-api",
  -                                                              
"maven-plugin-descriptor", "plexus-container-default",
  -                                                              
"plexus-artifact-container", "wagon-provider-api",
  -                                                              "classworlds",
  -                                                              "maven-plugin" 
/* Just re-added until all plugins are switched over...*/} );
  +        artifactFilter =
  +            new ExclusionSetFilter(
  +                new String[]{"maven-core", "maven-artifact", "maven-model", 
"maven-settings", "maven-monitor",
  +                             "maven-plugin-api", "maven-plugin-descriptor", 
"plexus-container-default",
  +                             "plexus-artifact-container", 
"wagon-provider-api", "classworlds", "maven-plugin" /* Just re-added until all 
plugins are switched over...*/} );
       }
   
       // ----------------------------------------------------------------------
  
  
  
  1.6       +6 -6      
maven-components/maven-core/src/main/java/org/apache/maven/plugin/MavenMojoDescriptor.java
  
  Index: MavenMojoDescriptor.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/MavenMojoDescriptor.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MavenMojoDescriptor.java  23 Mar 2005 06:52:52 -0000      1.5
  +++ MavenMojoDescriptor.java  14 Apr 2005 03:27:35 -0000      1.6
  @@ -51,11 +51,6 @@
           return mojoDescriptor.getImplementation();
       }
   
  -    public List getPrereqs()
  -    {
  -        return mojoDescriptor.getPrereqs();
  -    }
  -    
       public String getComponentFactory()
       {
           return mojoDescriptor.getLanguage();
  @@ -75,4 +70,9 @@
       {
           return DefaultPluginManager.MAVEN_PLUGIN;
       }
  +
  +    public List getRequirements()
  +    {
  +        return mojoDescriptor.getRequirements();
  +    }
   }
  
  
  
  1.13      +4 -1      
maven-components/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
  
  Index: PluginParameterExpressionEvaluator.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PluginParameterExpressionEvaluator.java   4 Apr 2005 03:48:01 -0000       
1.12
  +++ PluginParameterExpressionEvaluator.java   14 Apr 2005 03:27:35 -0000      
1.13
  @@ -40,6 +40,9 @@
           }
           if ( expression.startsWith( "#component" ) )
           {
  +            context.getLog().warn( "WARNING: plugin is using deprecated 
expression " + expression );
  +
  +            // TODO: deprecated... and can remove the lookup method in 
context afterwards
               String role = expression.substring( 11 );
   
               try
  
  
  
  1.4       +0 -21     
maven-components/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/jelly/JellyHarnessGenerator.java
  
  Index: JellyHarnessGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/jelly/JellyHarnessGenerator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JellyHarnessGenerator.java        13 Apr 2005 11:34:09 -0000      1.3
  +++ JellyHarnessGenerator.java        14 Apr 2005 03:27:35 -0000      1.4
  @@ -214,27 +214,6 @@
   
           w.addAttribute( "name", id + ":" + mojoDescriptor.getGoal() );
   
  -        List goalPrereqs = mojoDescriptor.getPrereqs();
  -
  -        if ( goalPrereqs.size() > 0 )
  -        {
  -            StringBuffer prereqs = new StringBuffer();
  -
  -            for ( int j = 0; j < goalPrereqs.size(); j++ )
  -            {
  -                String prereq = (String) goalPrereqs.get( j );
  -
  -                prereqs.append( prereq );
  -
  -                if ( j < goalPrereqs.size() - 1 )
  -                {
  -                    prereqs.append( "," );
  -                }
  -            }
  -
  -            w.addAttribute( "prereqs", prereqs.toString() );
  -        }
  -
           if ( mojoDescriptor.getDescription() != null )
           {
               w.addAttribute( "description", mojoDescriptor.getDescription() );
  
  
  
  1.8       +26 -12    
maven-components/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
  
  Index: PluginDescriptorGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PluginDescriptorGenerator.java    13 Apr 2005 11:34:09 -0000      1.7
  +++ PluginDescriptorGenerator.java    14 Apr 2005 03:27:35 -0000      1.8
  @@ -25,6 +25,8 @@
   
   import java.io.File;
   import java.io.FileWriter;
  +import java.util.ArrayList;
  +import java.util.Collection;
   import java.util.Iterator;
   import java.util.List;
   import java.util.Set;
  @@ -159,6 +161,7 @@
   
           w.startElement( "parameters" );
   
  +        Collection requirements = new ArrayList();
           for ( int j = 0; j < parameters.size(); j++ )
           {
               Parameter parameter = (Parameter) parameters.get( j );
  @@ -169,11 +172,18 @@
   
               element( w, "type", parameter.getType() );
   
  -            element( w, "required", Boolean.toString( parameter.isRequired() 
) );
  -
               element( w, "validator", parameter.getValidator() );
   
  -            element( w, "expression", parameter.getExpression() );
  +            if ( parameter.getExpression().startsWith( "#component" ) )
  +            {
  +                requirements.add( parameter );
  +            }
  +            else
  +            {
  +                element( w, "required", Boolean.toString( 
parameter.isRequired() ) );
  +
  +                element( w, "expression", parameter.getExpression() );
  +            }
   
               element( w, "description", parameter.getDescription() );
   
  @@ -185,20 +195,24 @@
           w.endElement();
   
           // 
----------------------------------------------------------------------
  -        // Prereqs
  +        // Requirements
           // 
----------------------------------------------------------------------
   
  -        // TODO: remove
  -
  -        List prereqs = mojoDescriptor.getPrereqs();
  -
  -        if ( prereqs != null && prereqs.size() > 0 )
  +        if ( !requirements.isEmpty() )
           {
  -            w.startElement( "prereqs" );
  +            w.startElement( "requirements" );
   
  -            for ( int j = 0; j < prereqs.size(); j++ )
  +            for ( Iterator i = requirements.iterator(); i.hasNext(); )
               {
  -                element( w, "prereq", (String) prereqs.get( j ) );
  +                Parameter requirement = (Parameter) i.next();
  +
  +                w.startElement( "requirement" );
  +
  +                element( w, "role", requirement.getExpression().substring( 
11 ) );
  +
  +                element( w, "field-name", requirement.getName() );
  +
  +                w.endElement();
               }
   
               w.endElement();
  
  
  
  1.2       +24 -20    
maven-components/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
  
  Index: MojoDescriptor.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MojoDescriptor.java       13 Apr 2005 05:08:29 -0000      1.1
  +++ MojoDescriptor.java       14 Apr 2005 03:27:35 -0000      1.2
  @@ -16,11 +16,19 @@
    * limitations under the License.
    */
   
  +import org.codehaus.plexus.component.repository.ComponentRequirement;
  +
  +import java.util.ArrayList;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.List;
   import java.util.Map;
   
  +/**
  + * The bean containing the mojo descriptor.
  + *
  + * @todo is there a need for the delegation of MavenMojoDescriptor to this? 
Why not just extend ComponentDescriptor here?
  + */
   public class MojoDescriptor
       implements Cloneable
   {
  @@ -48,12 +56,12 @@
   
       private String phase;
   
  +    private List requirements;
  +
       // ----------------------------------------------------------------------
       //
       // ----------------------------------------------------------------------
   
  -    private List prereqs;
  -
       private String requiresDependencyResolution = null;
   
       private boolean requiresProject = true;
  @@ -64,11 +72,6 @@
       //
       // ----------------------------------------------------------------------
   
  -    public String getRole()
  -    {
  -        return "org.apache.maven.plugin.Plugin";
  -    }
  -
       public String getImplementation()
       {
           return implementation;
  @@ -169,29 +172,25 @@
           this.requiresProject = requiresProject;
       }
   
  -    public boolean requiresProject()
  +    public boolean isRequiresProject()
       {
           return requiresProject;
       }
   
  -    // ----------------------------------------------------------------------
  -    // Prereqs
  -    // ----------------------------------------------------------------------
  -
  -    public List getPrereqs()
  +    public void setRequirements( List requirements )
       {
  -        return prereqs;
  +        this.requirements = requirements;
       }
   
  -    public void setPrereqs( List prereqs )
  +    public List getRequirements()
       {
  -        this.prereqs = prereqs;
  +        if ( requirements == null )
  +        {
  +            requirements = new ArrayList();
  +        }
  +        return requirements;
       }
   
  -    // ----------------------------------------------------------------------
  -    //
  -    // ----------------------------------------------------------------------
  -
       public String getPhase()
       {
           return phase;
  @@ -226,4 +225,9 @@
       {
           this.executionStrategy = executionStrategy;
       }
  +
  +    public void addRequirement( ComponentRequirement cr )
  +    {
  +        getRequirements().add( cr );
  +    }
   }
  
  
  
  1.3       +17 -10    
maven-components/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
  
  Index: PluginDescriptorBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PluginDescriptorBuilder.java      13 Apr 2005 11:34:09 -0000      1.2
  +++ PluginDescriptorBuilder.java      14 Apr 2005 03:27:35 -0000      1.3
  @@ -1,5 +1,6 @@
   package org.apache.maven.plugin.descriptor;
   
  +import org.codehaus.plexus.component.repository.ComponentRequirement;
   import org.codehaus.plexus.configuration.PlexusConfiguration;
   import org.codehaus.plexus.configuration.PlexusConfigurationException;
   import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
  @@ -155,22 +156,28 @@
   
           mojo.setParameters( parameters );
   
  +        // TODO: this should not need to be handed off...
  +
           // 
----------------------------------------------------------------------
  -        // Prereqs
  +        // Requirements
           // 
----------------------------------------------------------------------
   
  -        PlexusConfiguration[] prereqConfigurations = c.getChild( "prereqs" 
).getChildren( "prereq" );
  -
  -        List prereqs = new ArrayList();
  +        PlexusConfiguration[] requirements = c.getChild( "requirements" 
).getChildren( "requirement" );
   
  -        for ( int i = 0; i < prereqConfigurations.length; i++ )
  +        for ( int i = 0; i < requirements.length; i++ )
           {
  -            PlexusConfiguration d = prereqConfigurations[i];
  +            PlexusConfiguration requirement = requirements[i];
   
  -            prereqs.add( d.getValue() );
  -        }
  +            ComponentRequirement cr = new ComponentRequirement();
  +
  +            cr.setRole( requirement.getChild( "role" ).getValue() );
   
  -        mojo.setPrereqs( prereqs );
  +            cr.setRoleHint( requirement.getChild( "role-hint" ).getValue() );
  +
  +            cr.setFieldName( requirement.getChild( "field-name" ).getValue() 
);
  +
  +            mojo.addRequirement( cr );
  +        }
   
           return mojo;
       }
  
  
  
  1.7       +2 -0      
maven-components/maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade/tags/MetadataTag.java
  
  Index: MetadataTag.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade/tags/MetadataTag.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MetadataTag.java  5 Apr 2005 08:17:28 -0000       1.6
  +++ MetadataTag.java  14 Apr 2005 03:27:35 -0000      1.7
  @@ -103,6 +103,8 @@
           descriptor.setRequiresDependencyResolution( 
requiresDependencyResolution );
           descriptor.setRequiresProject( requiresProject );
   
  +        // TODO: component requirements
  +
           String basePath = (String) context.getVariable( 
MarmaladeMojoExecutionDirectives.SCRIPT_BASEPATH_INVAR,
                                                           
getExpressionEvaluator() );
   
  
  
  

Reply via email to