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 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) throws java.io.IOException
java.io.IOException
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)