Class HelpMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="help",
          requiresProject=false,
          threadSafe=true)
    public class HelpMojo
    extends org.apache.maven.plugin.AbstractMojo
    Display help information on maven-clean-plugin.
    Call mvn clean:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int DEFAULT_LINE_LENGTH  
      private boolean detail
      If true, display all settable properties for each goal.
      private java.lang.String goal
      The name of the goal for which to show help.
      private int indentSize
      The number of spaces per indentation level, should be positive.
      private int lineLength
      The maximum length of a display line, should be positive.
      private static java.lang.String PLUGIN_HELP_PATH  
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      HelpMojo()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void append​(java.lang.StringBuilder sb, java.lang.String description, int indent)
      Append a description to the buffer by respecting the indentSize and lineLength parameters.
      private org.w3c.dom.Document build()  
      void execute()
      private java.util.List<org.w3c.dom.Node> findNamedChild​(org.w3c.dom.Node node, java.lang.String elementName)  
      private org.w3c.dom.Node findSingleChild​(org.w3c.dom.Node node, java.lang.String elementName)  
      private static int getIndentLevel​(java.lang.String line)
      Gets the indentation level of the specified line.
      private java.lang.String getPropertyFromExpression​(java.lang.String expression)  
      private org.w3c.dom.Node getSingleChild​(org.w3c.dom.Node node, java.lang.String elementName)  
      private java.lang.String getValue​(org.w3c.dom.Node node, java.lang.String elementName)  
      private static boolean isNotEmpty​(java.lang.String string)  
      private static java.lang.String repeat​(java.lang.String str, int repeat)
      Repeat a String n times to form a new string.
      private static java.util.List<java.lang.String> toLines​(java.lang.String text, int indent, int indentSize, int lineLength)
      Splits the specified text into lines of convenient display length.
      private static void toLines​(java.util.List<java.lang.String> lines, java.lang.String line, int indentSize, int lineLength)
      Adds the specified line to the output sequence, performing line wrapping if necessary.
      private void writeGoal​(java.lang.StringBuilder sb, java.lang.String goalPrefix, org.w3c.dom.Element mojo)  
      private void writeParameter​(java.lang.StringBuilder sb, org.w3c.dom.Node parameter, org.w3c.dom.Node configurationElement)  
      • Methods inherited from class org.apache.maven.plugin.AbstractMojo

        getLog, getPluginContext, setLog, setPluginContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • detail

        @Parameter(property="detail",
                   defaultValue="false")
        private boolean detail
        If true, display all settable properties for each goal.
      • goal

        @Parameter(property="goal")
        private java.lang.String goal
        The name of the goal for which to show help. If unspecified, all goals will be displayed.
      • lineLength

        @Parameter(property="lineLength",
                   defaultValue="80")
        private int lineLength
        The maximum length of a display line, should be positive.
      • indentSize

        @Parameter(property="indentSize",
                   defaultValue="2")
        private int indentSize
        The number of spaces per indentation level, should be positive.
      • PLUGIN_HELP_PATH

        private static final java.lang.String PLUGIN_HELP_PATH
        See Also:
        Constant Field Values
    • Constructor Detail

      • HelpMojo

        public HelpMojo()
    • Method Detail

      • build

        private org.w3c.dom.Document build()
                                    throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • isNotEmpty

        private static boolean isNotEmpty​(java.lang.String string)
      • getValue

        private java.lang.String getValue​(org.w3c.dom.Node node,
                                          java.lang.String elementName)
                                   throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getSingleChild

        private org.w3c.dom.Node getSingleChild​(org.w3c.dom.Node node,
                                                java.lang.String elementName)
                                         throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • findNamedChild

        private java.util.List<org.w3c.dom.Node> findNamedChild​(org.w3c.dom.Node node,
                                                                java.lang.String elementName)
      • findSingleChild

        private org.w3c.dom.Node findSingleChild​(org.w3c.dom.Node node,
                                                 java.lang.String elementName)
                                          throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • writeGoal

        private void writeGoal​(java.lang.StringBuilder sb,
                               java.lang.String goalPrefix,
                               org.w3c.dom.Element mojo)
                        throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • writeParameter

        private void writeParameter​(java.lang.StringBuilder sb,
                                    org.w3c.dom.Node parameter,
                                    org.w3c.dom.Node configurationElement)
                             throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • repeat

        private static java.lang.String repeat​(java.lang.String str,
                                               int repeat)

        Repeat a String n times to form a new string.

        Parameters:
        str - String to repeat
        repeat - number of times to repeat str
        Returns:
        String with repeated String
        Throws:
        java.lang.NegativeArraySizeException - if repeat < 0
        java.lang.NullPointerException - if str is null
      • append

        private void append​(java.lang.StringBuilder sb,
                            java.lang.String description,
                            int indent)
        Append a description to the buffer by respecting the indentSize and lineLength parameters. Note: The last character is always a new line.
        Parameters:
        sb - The buffer to append the description, not null.
        description - The description, not null.
        indent - The base indentation level of each line, must not be negative.
      • toLines

        private static java.util.List<java.lang.String> toLines​(java.lang.String text,
                                                                int indent,
                                                                int indentSize,
                                                                int lineLength)
        Splits the specified text into lines of convenient display length.
        Parameters:
        text - The text to split into lines, must not be null.
        indent - The base indentation level of each line, must not be negative.
        indentSize - The size of each indentation, must not be negative.
        lineLength - The length of the line, must not be negative.
        Returns:
        The sequence of display lines, never null.
        Throws:
        java.lang.NegativeArraySizeException - if indent < 0
      • toLines

        private static void toLines​(java.util.List<java.lang.String> lines,
                                    java.lang.String line,
                                    int indentSize,
                                    int lineLength)
        Adds the specified line to the output sequence, performing line wrapping if necessary.
        Parameters:
        lines - The sequence of display lines, must not be null.
        line - The line to add, must not be null.
        indentSize - The size of each indentation, must not be negative.
        lineLength - The length of the line, must not be negative.
      • getIndentLevel

        private static int getIndentLevel​(java.lang.String line)
        Gets the indentation level of the specified line.
        Parameters:
        line - The line whose indentation level should be retrieved, must not be null.
        Returns:
        The indentation level of the line.
      • getPropertyFromExpression

        private java.lang.String getPropertyFromExpression​(java.lang.String expression)