[ https://jira.codehaus.org/browse/MPLUGIN-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=318476#comment-318476 ]
Martin Gainty commented on MPLUGIN-240:
---------------------------------------
Test-harness
org.codehaus.modello
modello-maven-plugin
1.1
generate-sources
java
1.0.0
src/main/mdo/pluginRequirements.mdo
src/main/mdo/pluginRequirements.mdo
true
true
${project.build.directory}/generated-sources/modello
${project.build.sourceEncoding}
false
The error generated from test-harness:
org.codehaus.modello.maven.AbstractModelloGeneratorMojo
org.apache.maven.plugin.MojoExecutionException: Error generating: No such plugin: java at
org.codehaus.modello.maven.AbstractModelloGeneratorMojo.doExecute(AbstractModelloGeneratorMojo.java:324)
plugin.xml contains:
Modello Maven Plugin
Modello Maven Plugin enables the use of Modello in Maven builds.
org.codehaus.modello
modello-maven-plugin
1.1
modello
false
true
java
generates java sources from mdo
false
false
false
false
false
true
org.codehaus.modello.maven.ModelloJavaMojo
java
per-lookup
once-per-session
false
modelFile
java.lang.String
false
true
the model file
outputType
java.lang.String
true
true
Output type
outputDirectory
java.io.File
true
true
Output Directory
modelVersion
java.lang.String
true
true
version
packageWithVersion
java.lang.String
true
true
packgeWithVersion
useJava5
java.lang.String
true
true
useJava5
args
java.lang.String
false
true
model outputType output-directory modelVersion packageWithVersion useJava5 encoding
${modelFile}
${outputType}
${outputDirectory}
${modelVersion}
${packageWithVersion}
${useJava5}
${args}
this is the class that the PluginManager locates..
Presumably because this is the only class which extends AbstractMojo
/**
* @author Trygve Laugstøl
* @version $Id$
* @threadSafe
*/
public abstract class AbstractModelloGeneratorMojo
extends org.apache.maven.plugin.AbstractMojo
{
public abstract void execute() {...}
}
//notice there is no @goal because this is an abstract class
//pluginManager does NOT use implementation class but backtraces to locate
//which class extends AbstractMojo
/*solution for plugin is to place all
functionality into concrete implementor
which contains @goal e.g. */
/*** Echos an object string to the output screen.
* @goal java
* @requiresProject false
@Mojo(name "java")
*/
public class ModelloJavaMojo extends AbstractMojo implements
org.codehaus.modello.core.ModelloCore
{ public void execute()
}
Questions or comments on why PluginManager is locating Abstract class which extends AbstractMojo and not locating implementation Java class are eagerly solicited
Martin
> PluginManager cannot locate @goal in Abstract Class in modello-maven-plugin
> ---------------------------------------------------------------------------
>
> Key: MPLUGIN-240
> URL: https://jira.codehaus.org/browse/MPLUGIN-240
> Project: Maven 2.x Plugin Tools
> Issue Type: Bug
> Components: Metadata Model
> Environment: maven 3.0.2 modello-maven-plugin-1.5
> Reporter: Martin Gainty
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira