public class PluginHelpGenerator extends org.codehaus.plexus.logging.AbstractLogEnabled implements Generator
HelpMojo
class from help-class-source.vm
template.
The generated mojo reads help content from META-INF/maven/${groupId}/${artifactId}/plugin-help.xml
resource, which is generated by this PluginDescriptorGenerator
.
Notice that the help mojo source needs to be generated before compilation, but when Java 5 annotations are used,
plugin descriptor content is available only after compilation (detecting annotations in .class files):
help mojo source can be generated with empty package only (and no plugin descriptor available yet), then needs
to be updated after compilation - through rewriteHelpMojo(PluginToolsRequest, Log)
which is called from
plugin descriptor XML generation.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
HELP_GOAL
Default goal
|
private static java.lang.String |
HELP_MOJO_CLASS_NAME
Default generated class name
|
private static java.lang.String |
HELP_PROPERTIES_FILENAME
Help properties file, to store data about generated source.
|
private java.lang.String |
helpPackageName |
private boolean |
useAnnotations |
private org.codehaus.plexus.velocity.VelocityComponent |
velocityComponent |
Constructor and Description |
---|
PluginHelpGenerator()
Default constructor
|
Modifier and Type | Method and Description |
---|---|
void |
execute(java.io.File destinationDirectory,
PluginToolsRequest request)
Execute the generation for a given plugin descriptor.
|
private java.lang.String |
getHelpClassSources(java.lang.String pluginHelpPath,
org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor) |
private java.lang.String |
getImplementation(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor) |
(package private) static java.lang.String |
getPluginHelpPath(org.apache.maven.project.MavenProject mavenProject) |
org.codehaus.plexus.velocity.VelocityComponent |
getVelocityComponent() |
private static java.lang.String |
rewriteHelpClassToMojoPackage(PluginToolsRequest request,
java.io.File destinationDirectory,
org.apache.maven.plugin.logging.Log log) |
(package private) static void |
rewriteHelpMojo(PluginToolsRequest request,
org.apache.maven.plugin.logging.Log log)
Rewrite Help Mojo to match actual Mojos package name if it was not available at source generation
time.
|
PluginHelpGenerator |
setHelpPackageName(java.lang.String helpPackageName) |
PluginHelpGenerator |
setVelocityComponent(org.codehaus.plexus.velocity.VelocityComponent velocityComponent) |
private static void |
updateHelpMojoDescriptor(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor,
java.lang.String helpMojoImplementation) |
private void |
writeHelpPropertiesFile(PluginToolsRequest request,
java.io.File destinationDirectory)
Write help properties files for later use to eventually rewrite Help Mojo.
|
private static final java.lang.String HELP_MOJO_CLASS_NAME
private static final java.lang.String HELP_PROPERTIES_FILENAME
private static final java.lang.String HELP_GOAL
private java.lang.String helpPackageName
private boolean useAnnotations
private org.codehaus.plexus.velocity.VelocityComponent velocityComponent
public void execute(java.io.File destinationDirectory, PluginToolsRequest request) throws GeneratorException
execute
in interface Generator
destinationDirectory
- requiredrequest
- requiredGeneratorException
- if anypublic PluginHelpGenerator setHelpPackageName(java.lang.String helpPackageName)
public org.codehaus.plexus.velocity.VelocityComponent getVelocityComponent()
public PluginHelpGenerator setVelocityComponent(org.codehaus.plexus.velocity.VelocityComponent velocityComponent)
private java.lang.String getHelpClassSources(java.lang.String pluginHelpPath, org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
private java.lang.String getImplementation(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
pluginDescriptor
- The descriptor of the plugin for which to generate a help goal, must not be
null
.private void writeHelpPropertiesFile(PluginToolsRequest request, java.io.File destinationDirectory) throws GeneratorException
request
- GeneratorException
#rewriteHelpMojo(PluginToolsRequest, Log)}
static java.lang.String getPluginHelpPath(org.apache.maven.project.MavenProject mavenProject)
static void rewriteHelpMojo(PluginToolsRequest request, org.apache.maven.plugin.logging.Log log) throws GeneratorException
request
- GeneratorException
private static java.lang.String rewriteHelpClassToMojoPackage(PluginToolsRequest request, java.io.File destinationDirectory, org.apache.maven.plugin.logging.Log log) throws GeneratorException
GeneratorException
private static void updateHelpMojoDescriptor(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor, java.lang.String helpMojoImplementation)