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() );