Class GeneratorUtils


  • public final class GeneratorUtils
    extends Object
    Convenience methods to play with Maven plugins.
    Author:
    jdcasey
    • Method Detail

      • writeDependencies

        public static void writeDependencies​(org.codehaus.plexus.util.xml.XMLWriter w,
                                             org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
        Parameters:
        w - not null writer
        pluginDescriptor - not null
      • element

        public static void element​(org.codehaus.plexus.util.xml.XMLWriter w,
                                   String name,
                                   String value)
        Parameters:
        w - not null writer
        name - not null
        value - could be null
      • element

        public static void element​(org.codehaus.plexus.util.xml.XMLWriter w,
                                   String name,
                                   String value,
                                   boolean asText)
      • toComponentDependencies

        public static List<org.codehaus.plexus.component.repository.ComponentDependency> toComponentDependencies​(List<org.apache.maven.model.Dependency> dependencies)
        Parameters:
        dependencies - not null list of Dependency
        Returns:
        list of component dependencies
      • makeHtmlValid

        public static String makeHtmlValid​(String description)
        Fixes some javadoc comment to become a valid XHTML snippet.
        Parameters:
        description - Javadoc description with HTML tags, may be null.
        Returns:
        The description with valid XHTML tags, never null.
      • toText

        public static String toText​(String html)
        Converts a HTML fragment as extracted from a javadoc comment to a plain text string. This method tries to retain as much of the text formatting as possible by means of the following transformations:
        • List items are converted to leading tabs (U+0009), followed by the item number/bullet, another tab and finally the item contents. Each tab denotes an increase of indentation.
        • Flow breaking elements as well as literal line terminators in preformatted text are converted to a newline (U+000A) to denote a mandatory line break.
        • Consecutive spaces and line terminators from character data outside of preformatted text will be normalized to a single space. The resulting space denotes a possible point for line wrapping.
        • Each space in preformatted text will be converted to a non-breaking space (U+00A0).
        Parameters:
        html - The HTML fragment to convert to plain text, may be null.
        Returns:
        A string with HTML tags converted into pure text, never null.
        Since:
        2.4.3
      • discoverPackageName

        public static String discoverPackageName​(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
        Find the best package name, based on the number of hits of actual Mojo classes.
        Parameters:
        pluginDescriptor - not null
        Returns:
        the best name of the package for the generated mojo
      • isMavenReport

        public static boolean isMavenReport​(String impl,
                                            org.apache.maven.project.MavenProject project)
                                     throws IllegalArgumentException
        Parameters:
        impl - a Mojo implementation, not null
        project - a MavenProject instance, could be null
        Returns:
        true is the Mojo implementation implements MavenReport, false otherwise.
        Throws:
        IllegalArgumentException - if any