Author: jdcasey
Date: Mon Sep 26 21:46:37 2005
New Revision: 291823
URL: http://svn.apache.org/viewcvs?rev=291823&view=rev
Log:
Working on: MNG-897...added AntMojoDescriptorExtractor, PluginMetadataParser,
and made small changes to the plugin metadata model used by scripts like Ant.
This should be complete, except for wiring into the tool front-ends and testing
with an Ant-based plugin.
Added:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
(with props)
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
(with props)
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
(with props)
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
(with props)
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
(with props)
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
- copied, changed from r291797,
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/mojo-metadata.mdo
Removed:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/mojo-metadata.mdo
Modified:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/pom.xml
Added: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml?rev=291823&view=auto
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
(added)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
Mon Sep 26 21:46:37 2005
@@ -0,0 +1,34 @@
+<project>
+ <parent>
+ <artifactId>maven-plugin-tools</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-tools-ant</artifactId>
+ <name>Maven Ant Plugin Tools</name>
+ <version>2.0-beta-3-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-tools-api</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-tools-model</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java?rev=291823&view=auto
==============================================================================
---
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
(added)
+++
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
Mon Sep 26 21:46:37 2005
@@ -0,0 +1,105 @@
+package org.apache.maven.tools.plugin.extractor.ant;
+
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.tools.model.PluginMetadataParseException;
+import org.apache.maven.plugin.tools.model.PluginMetadataParser;
+import
org.apache.maven.tools.plugin.extractor.AbstractScriptedMojoDescriptorExtractor;
+import org.apache.maven.tools.plugin.extractor.ExtractionException;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class AntMojoDescriptorExtractor
+ extends AbstractScriptedMojoDescriptorExtractor
+{
+
+ private static final String METADATA_FILE_EXTENSION = ".plugin.xml";
+ private static final String SCRIPT_FILE_EXTENSION = ".xml";
+
+ protected List extractMojoDescriptors( Map scriptFilesKeyedByBasedir,
PluginDescriptor pluginDescriptor )
+ throws ExtractionException, InvalidPluginDescriptorException
+ {
+ List descriptors = new ArrayList();
+
+ PluginMetadataParser parser = new PluginMetadataParser();
+
+ for ( Iterator mapIterator =
scriptFilesKeyedByBasedir.entrySet().iterator(); mapIterator.hasNext(); )
+ {
+ Map.Entry entry = (Map.Entry) mapIterator.next();
+
+ String basedir = (String) entry.getKey();
+ Set scriptFiles = (Set) entry.getValue();
+
+ for ( Iterator it = scriptFiles.iterator(); it.hasNext(); )
+ {
+ File scriptMetadataFile = (File) it.next();
+
+ String basename = scriptMetadataFile.getName();
+ basename = basename.substring( 0, basename.length() -
METADATA_FILE_EXTENSION.length() );
+
+ File scriptFile = new File(
scriptMetadataFile.getParentFile(), basename + SCRIPT_FILE_EXTENSION );
+
+ if ( !scriptFile.exists() )
+ {
+ throw new InvalidPluginDescriptorException( "Found
orphaned plugin metadata file: " + scriptMetadataFile );
+ }
+
+ String relativePath = null;
+
+ if ( basedir.endsWith( "/" ) )
+ {
+ basedir = basedir.substring( 0, basedir.length() - 2 );
+ }
+
+ relativePath = scriptFile.getPath().substring(
basedir.length() );
+
+ relativePath = relativePath.replace( '\\', '/' );
+
+ try
+ {
+ Set mojoDescriptors = parser.parseMojoDescriptors(
scriptMetadataFile );
+
+ for ( Iterator discoveredMojoIterator =
mojoDescriptors.iterator(); discoveredMojoIterator.hasNext(); )
+ {
+ MojoDescriptor descriptor = (MojoDescriptor)
discoveredMojoIterator.next();
+
+
+ String implementation = relativePath;
+
+ if ( StringUtils.isNotEmpty(
descriptor.getImplementation() ) )
+ {
+ implementation += ":" +
descriptor.getImplementation();
+ }
+
+ descriptor.setImplementation( implementation );
+
+ descriptor.setLanguage( "ant" );
+ descriptor.setComponentComposer( "map-oriented" );
+ descriptor.setComponentConfigurator( "map-oriented" );
+
+ descriptors.add( descriptor );
+ }
+ }
+ catch ( PluginMetadataParseException e )
+ {
+ throw new ExtractionException( "Error extracting mojo
descriptor from script: " + scriptMetadataFile, e );
+ }
+ }
+ }
+
+ return descriptors;
+ }
+
+ protected String getScriptFileExtension()
+ {
+ return METADATA_FILE_EXTENSION;
+ }
+
+}
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml?rev=291823&view=auto
==============================================================================
---
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
(added)
+++
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
Mon Sep 26 21:46:37 2005
@@ -0,0 +1,17 @@
+<component-set>
+ <components>
+
+ <!--
+ |
+ | JavaMojoDescriptorExtractor, a MojoDescriptor extractor to read
+ | descriptors from java sources.
+ |
+ -->
+ <component>
+
<role>org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor</role>
+ <role-hint>ant</role-hint>
+
<implementation>org.apache.maven.tools.plugin.extractor.ant.AntMojoDescriptorExtractor</implementation>
+ </component>
+
+ </components>
+</component-set>
\ No newline at end of file
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-ant/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/pom.xml?rev=291823&r1=291822&r2=291823&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/pom.xml
(original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/pom.xml
Mon Sep 26 21:46:37 2005
@@ -1,20 +1,28 @@
<project>
<parent>
- <artifactId>maven</artifactId>
+ <artifactId>maven-plugin-tools</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0-beta-2-SNAPSHOT</version>
+ <version>2.0-beta-3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-tools-model</artifactId>
<name>Maven Plugin Metadata Model</name>
- <version>2.0-beta-2-SNAPSHOT</version>
+ <version>2.0-beta-3-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-descriptor</artifactId>
+ <version>2.0-beta-3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
<artifactId>plexus-utils</artifactId>
- <version>1.0.3</version>
</dependency>
</dependencies>
@@ -23,7 +31,6 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>RELEASE</version>
<executions>
<execution>
<goals>
@@ -34,7 +41,7 @@
</execution>
</executions>
<configuration>
- <model>src/main/mdo/mojo-metadata.mdo</model>
+ <model>src/main/mdo/plugin-metadata.mdo</model>
<version>1.0.0</version>
</configuration>
</plugin>
Added:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java?rev=291823&view=auto
==============================================================================
---
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
(added)
+++
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
Mon Sep 26 21:46:37 2005
@@ -0,0 +1,40 @@
+package org.apache.maven.plugin.tools.model;
+
+import java.io.File;
+
+public class PluginMetadataParseException
+ extends Exception
+{
+
+ static final long serialVersionUID = 1;
+
+ private final File metadataFile;
+ private final String originalMessage;
+
+ public PluginMetadataParseException( File metadataFile, String message,
Throwable cause )
+ {
+ super( "Error parsing file: " + metadataFile + ". Reason: " + message,
cause );
+
+ this.metadataFile = metadataFile;
+ this.originalMessage = message;
+ }
+
+ public PluginMetadataParseException( File metadataFile, String message )
+ {
+ super( "Error parsing file: " + metadataFile + ". Reason: " + message
);
+
+ this.metadataFile = metadataFile;
+ this.originalMessage = message;
+ }
+
+ public File getMetadataFile()
+ {
+ return metadataFile;
+ }
+
+ public String getOriginalMessage()
+ {
+ return originalMessage;
+ }
+
+}
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java?rev=291823&view=auto
==============================================================================
---
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
(added)
+++
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
Mon Sep 26 21:46:37 2005
@@ -0,0 +1,158 @@
+package org.apache.maven.plugin.tools.model;
+
+import org.apache.maven.plugin.descriptor.DuplicateParameterException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.Parameter;
+import org.apache.maven.plugin.tools.model.io.xpp3.PluginMetadataXpp3Reader;
+import org.codehaus.plexus.component.repository.ComponentRequirement;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+public class PluginMetadataParser
+{
+
+ public Set parseMojoDescriptors( File metadataFile )
+ throws PluginMetadataParseException
+ {
+ Set descriptors = new HashSet();
+
+ Reader reader = null;
+
+ try
+ {
+ reader = new FileReader( metadataFile );
+
+ PluginMetadataXpp3Reader metadataReader = new
PluginMetadataXpp3Reader();
+
+ PluginMetadata pluginMetadata = metadataReader.read( reader );
+
+ List mojos = pluginMetadata.getMojos();
+
+ if ( mojos != null && !mojos.isEmpty() )
+ {
+ for ( Iterator it = mojos.iterator(); it.hasNext(); )
+ {
+ Mojo mojo = (Mojo) it.next();
+
+ MojoDescriptor descriptor = asDescriptor( metadataFile,
mojo );
+
+ descriptors.add( descriptor );
+ }
+ }
+ }
+ catch ( IOException e )
+ {
+ throw new PluginMetadataParseException( metadataFile, "Cannot
parse plugin metadata from file.", e );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new PluginMetadataParseException( metadataFile, "Cannot
parse plugin metadata from file.", e );
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+
+ return descriptors;
+ }
+
+ private MojoDescriptor asDescriptor( File metadataFile, Mojo mojo )
+ throws PluginMetadataParseException
+ {
+ MojoDescriptor descriptor = new MojoDescriptor();
+
+ descriptor.setImplementation( mojo.getCall() );
+
+ descriptor.setGoal( mojo.getGoal() );
+ descriptor.setPhase( mojo.getPhase() );
+ descriptor.setDependencyResolutionRequired(
mojo.getRequiresDependencyResolution() );
+ descriptor.setAggregator( mojo.isAggregator() );
+ descriptor.setInheritedByDefault( mojo.isInheritByDefault() );
+ descriptor.setDirectInvocationOnly( mojo.isRequiresDirectInvocation()
);
+ descriptor.setOnlineRequired( mojo.isRequiresOnline() );
+ descriptor.setProjectRequired( mojo.isRequiresProject() );
+ descriptor.setRequiresReports( mojo.isRequiresReports() );
+ descriptor.setDescription( mojo.getDescription() );
+ descriptor.setDeprecated( mojo.getDeprecation() );
+
+ LifecycleExecution le = mojo.getExecution();
+ if ( le != null )
+ {
+ descriptor.setExecuteLifecycle( le.getLifecycle() );
+ descriptor.setExecutePhase( le.getPhase() );
+ }
+
+ List parameters = mojo.getParameters();
+
+ if ( parameters != null && !parameters.isEmpty() )
+ {
+ for ( Iterator it = parameters.iterator(); it.hasNext(); )
+ {
+ org.apache.maven.plugin.tools.model.Parameter param =
(org.apache.maven.plugin.tools.model.Parameter) it.next();
+
+ Parameter dParam = new Parameter();
+ dParam.setAlias( param.getAlias() );
+ dParam.setDeprecated( param.getDeprecation() );
+ dParam.setDescription( param.getDescription() );
+ dParam.setEditable( !param.isReadonly() );
+ dParam.setExpression( param.getExpression() );
+
+ String property = param.getProperty();
+ if ( StringUtils.isNotEmpty( property ) )
+ {
+ dParam.setName( property );
+ }
+ else
+ {
+ dParam.setName( param.getName() );
+ }
+
+ if ( StringUtils.isEmpty( dParam.getName() ) )
+ {
+ throw new PluginMetadataParseException( metadataFile,
"Mojo: \'" + mojo.getGoal() + "\' has a parameter without either property or
name attributes. Please specify one." );
+ }
+
+ dParam.setRequired( param.isRequired() );
+ dParam.setType( param.getType() );
+
+ try
+ {
+ descriptor.addParameter( dParam );
+ }
+ catch ( DuplicateParameterException e )
+ {
+ throw new PluginMetadataParseException( metadataFile,
"Duplicate parameters detected for mojo: " + mojo.getGoal(), e );
+ }
+ }
+ }
+
+ List components = mojo.getComponents();
+
+ if ( components != null && !components.isEmpty() )
+ {
+ for ( Iterator it = components.iterator(); it.hasNext(); )
+ {
+ Component component = (Component) it.next();
+
+ ComponentRequirement cr = new ComponentRequirement();
+ cr.setRole( component.getRole() );
+ cr.setRoleHint( component.getHint() );
+
+ descriptor.addRequirement( cr );
+ }
+ }
+
+ return descriptor;
+ }
+
+}
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied:
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
(from r291797,
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/mojo-metadata.mdo)
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo?p2=maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo&p1=maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/mojo-metadata.mdo&r1=291797&r2=291823&rev=291823&view=diff
==============================================================================
---
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/mojo-metadata.mdo
(original)
+++
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
Mon Sep 26 21:46:37 2005
@@ -1,41 +1,45 @@
<!--
- <mojoMetadata goal="myGoal"
- phase="compile"
- requiresDependencyResolution="compile"
- requiresProject="true"
- requiresReports="true"
- requiresOnline="true"
- inheritByDefault="true"
- requiresDirectInvocation="true"
- aggregator="true">
+ <pluginMetadata>
+ <mojos>
+ <mojo goal="myGoal"
+ phase="compile"
+ requiresDependencyResolution="compile"
+ requiresProject="true"
+ requiresReports="true"
+ requiresOnline="true"
+ inheritByDefault="true"
+ requiresDirectInvocation="true"
+ aggregator="true">
- <execute phase="initialize" lifecycle="mine"/>
- <components>
- <component role="stuff" hint="more"/>
- </components>
- <parameters>
- <parameter name="nom"
- property="prop"
- required="true"
- readonly="true"
- expression="${project}"
- type="org.apache.maven.project.MavenProject"
- alias="otherProp">
- <description>Test parameter</description>
- <deprecated>Use something else</deprecated>
- </parameter>
- </parameters>
- <description>
- This is a test.
- </description>
- <deprecated>Use another mojo</deprecated>
- </mojoMetadata>
+ <execute phase="initialize" lifecycle="mine"/>
+ <components>
+ <component role="stuff" hint="more"/>
+ </components>
+ <parameters>
+ <parameter name="nom"
+ property="prop"
+ required="true"
+ readonly="true"
+ expression="${project}"
+ type="org.apache.maven.project.MavenProject"
+ alias="otherProp">
+ <description>Test parameter</description>
+ <deprecated>Use something else</deprecated>
+ </parameter>
+ </parameters>
+ <description>
+ This is a test.
+ </description>
+ <deprecated>Use another mojo</deprecated>
+ </mojo>
+ </mojos>
+ </pluginMetadata>
-->
<model>
- <id>mojo-metadata</id>
- <name>MojoMetadata</name>
+ <id>plugin-metadata</id>
+ <name>PluginMetadata</name>
<description><![CDATA[
- Mojo descriptor for embedding in scripts.
+ Plugin descriptor metadata for using with script-based mojos.
]]></description>
<defaults>
<default>
@@ -44,10 +48,27 @@
</default>
</defaults>
<classes>
- <class rootElement="true" xml.tagName="mojoMetadata">
- <name>MojoMetadata</name>
+ <class rootElement="true" xml.tagName="pluginMetadata">
+ <name>PluginMetadata</name>
<version>1.0.0</version>
- <description>Root element of the XML-based mojo descriptor
definition.</description>
+ <description>Root element of a script-based mojo's plugin metadata
bindings.</description>
+ <fields>
+ <field>
+ <name>mojos</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <description>The list of mojos contained in the accompanying
script.</description>
+ <association>
+ <type>Mojo</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>Mojo</name>
+ <version>1.0.0</version>
+ <description>Mojo descriptor definition.</description>
<fields>
<field xml.attribute="true">
<version>1.0.0</version>
@@ -136,12 +157,18 @@
<description>The description for this parameter.</description>
<type>String</type>
</field>
- <field>
+ <field xml.tagName="deprecated">
<name>deprecation</name>
<version>1.0.0</version>
<description>A deprecation message for this mojo
parameter.</description>
<type>String</type>
</field>
+ <field xml.attribute="true">
+ <version>1.0.0</version>
+ <name>call</name>
+ <type>String</type>
+ <description>The target/method within the script to call when this
mojo executes.</description>
+ </field>
</fields>
</class>
<class>
@@ -252,7 +279,7 @@
<description>The description for this parameter.</description>
<type>String</type>
</field>
- <field>
+ <field xml.tagName="deprecated">
<name>deprecation</name>
<version>1.0.0</version>
<description>A deprecation message for this mojo
parameter.</description>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]