Class AbstractGroovyDocMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    GroovyDocMojo, GroovyDocTestsMojo

    public abstract class AbstractGroovyDocMojo
    extends AbstractGroovySourcesMojo
    The base GroovyDoc mojo, which all GroovyDoc mojos extend.
    Since:
    1.0-beta-1
    Author:
    Keegan Witt
    • Field Detail

      • GROOVY_3_0_0_ALPHA_4

        protected static final Version GROOVY_3_0_0_ALPHA_4
        Groovy 3.0.0 alpha-4 version.
      • GROOVY_1_6_0_RC2

        protected static final Version GROOVY_1_6_0_RC2
        Groovy 1.6.0 RC-2 version.
      • GROOVY_1_6_0_RC1

        protected static final Version GROOVY_1_6_0_RC1
        Groovy 1.6.0 RC-1 version.
      • GROOVY_1_5_8

        protected static final Version GROOVY_1_5_8
        Groovy 1.5.8 version.
      • GROOVY_1_5_2

        protected static final Version GROOVY_1_5_2
        Groovy 1.5.2 version.
      • windowTitle

        @Parameter(defaultValue="Groovy Documentation")
        protected String windowTitle
        The window title.
      • docTitle

        @Parameter(defaultValue="Groovy Documentation")
        protected String docTitle
        The page title.
      • footer

        @Parameter(defaultValue="Groovy Documentation")
        protected String footer
        The page footer.
      • header

        @Parameter(defaultValue="Groovy Documentation")
        protected String header
        The page header.
      • displayAuthor

        @Parameter(defaultValue="true")
        protected boolean displayAuthor
        Whether to display the author in the generated GroovyDoc.
      • overviewFile

        @Parameter
        protected File overviewFile
        The HTML file to be used for overview documentation.
      • stylesheetFile

        @Parameter
        protected File stylesheetFile
        The stylesheet file (absolute path) to copy to output directory (will overwrite default stylesheet.css).
      • stylesheetEncoding

        @Parameter(defaultValue="${project.build.sourceEncoding}")
        protected String stylesheetEncoding
        The encoding of stylesheetFile.
      • scope

        @Parameter(defaultValue="private")
        protected String scope
        The scope to generate GroovyDoc for. Should be one of:
        • "public"
        • "protected"
        • "package"
        • "private"
      • links

        @Parameter
        protected List<Link> links
        Links to include in the generated GroovyDoc (key is link href, value is comma-separated packages to use that link).
        Since:
        1.0-beta-2
      • skipGroovyDoc

        @Parameter(property="skipGroovydoc",
                   defaultValue="false")
        protected boolean skipGroovyDoc
        Flag to allow GroovyDoc generation to be skipped.
        Since:
        1.6
      • includeClasspath

        @Parameter(defaultValue="PROJECT_ONLY")
        protected IncludeClasspath includeClasspath
        What classpath to include. One of
        • PROJECT_ONLY
        • PROJECT_AND_PLUGIN
        • PLUGIN_ONLY
        Uses the same scope as the required dependency resolution of this mojo. Use only if you know what you're doing.
        Since:
        1.8.0
      • defaultDocTemplates

        @Parameter
        protected String[] defaultDocTemplates
        Override the default Groovydoc default top-level templates. Uses Groovy's standard templates by default.
        Since:
        1.10.1
      • defaultPackageTemplates

        @Parameter
        protected String[] defaultPackageTemplates
        Override the default Groovydoc package-level templates. Uses Groovy's standard templates by default.
        Since:
        1.10.1
      • defaultClassTemplates

        @Parameter
        protected String[] defaultClassTemplates
        Override the default Groovydoc class-level templates. Uses Groovy's standard templates by default.
        Since:
        1.10.1
      • groovyDocToolClass

        @Parameter
        protected String groovyDocToolClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.GroovyDocTool, for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • outputToolClass

        @Parameter
        protected String outputToolClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.OutputTool, for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • fileOutputToolClass

        @Parameter
        protected String fileOutputToolClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.FileOutputTool, for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • resourceManagerClass

        @Parameter
        protected String resourceManagerClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.ResourceManager, for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • classpathResourceManagerClass

        @Parameter
        protected String classpathResourceManagerClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.ClasspathResourceManager, for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • linkArgumentClass

        @Parameter
        protected String linkArgumentClass
        Allows you to override the class that is normally org.codehaus.groovy.tools.groovydoc.LinkArgument (or org.codehaus.groovy.ant.Groovydoc$LinkArgument for Groovy older than 1.6-RC-2), for use when creating custom GroovyDoc implementations.
        Since:
        1.10.1
      • attachGroovyDocAnnotation

        @Parameter(defaultValue="false")
        protected boolean attachGroovyDocAnnotation
        Enable attaching GroovyDoc annotation. Requires Groovy 3.0.0 alpha-4 or newer.
        Since:
        1.11.0
    • Constructor Detail

      • AbstractGroovyDocMojo

        public AbstractGroovyDocMojo()
    • Method Detail

      • setupProperties

        protected Properties setupProperties()
        Sets up the documentation properties.
        Returns:
        the documentation properties
      • createGroovyDocTool

        protected Object createGroovyDocTool​(Class<?> groovyDocToolClass,
                                             Class<?> resourceManagerClass,
                                             Properties docProperties,
                                             Object classpathResourceManager,
                                             List<String> sourceDirectories,
                                             GroovyDocTemplateInfo groovyDocTemplateInfo,
                                             List<?> groovyDocLinks)
                                      throws InvocationTargetException,
                                             IllegalAccessException,
                                             InstantiationException
        Instantiates a new GroovyDocTool.
        Parameters:
        groovyDocToolClass - the GroovyDocTool class
        resourceManagerClass - the ResourceManager lass
        docProperties - the documentation properties
        classpathResourceManager - the ClasspathResourceManager for the GroovyDocTool
        sourceDirectories - the source directories for the GroovyDocTool
        groovyDocTemplateInfo - the GroovyDocTemplateInfo for the GroovyDocTool
        groovyDocLinks - the GroovyDoc links
        Returns:
        the GroovyDocTool to use in GroovyDoc generation
        Throws:
        InstantiationException - when a class needed for setting up GroovyDoc tool cannot be instantiated
        IllegalAccessException - when a method needed for setting up GroovyDoc tool cannot be accessed
        InvocationTargetException - when a reflection invocation needed for setting up GroovyDoc tool cannot be completed
      • setupGroovyDocSources

        protected List<String> setupGroovyDocSources​(org.apache.maven.shared.model.fileset.FileSet[] sourceDirectories,
                                                     org.apache.maven.shared.model.fileset.util.FileSetManager fileSetManager)
        Gets the Groovy sources without the Java sources (since the Java sources don't have Javadoc).
        Parameters:
        sourceDirectories - the source directories to get the Groovy sources from
        fileSetManager - the FileSetmanager to use to get the included files
        Returns:
        the groovy sources
      • generateGroovyDoc

        protected void generateGroovyDoc​(File outputDirectory,
                                         Class<?> groovyDocToolClass,
                                         Class<?> outputToolClass,
                                         Object fileOutputTool,
                                         List<String> groovyDocSources,
                                         Object groovyDocTool)
                                  throws InvocationTargetException,
                                         IllegalAccessException
        Performs the GroovyDoc generation.
        Parameters:
        outputDirectory - the directory to output the GroovyDoc to
        groovyDocToolClass - the GroovyDocTool class
        outputToolClass - the OutputTool class
        fileOutputTool - the FileOutputTool to use for GroovyDoc generation
        groovyDocSources - the sources to
        groovyDocTool - the GroovyDocTool to use for GroovyDoc generation
        Throws:
        IllegalAccessException - when a method needed for GroovyDoc generation cannot be accessed
        InvocationTargetException - when a reflection invocation needed for GroovyDoc generation cannot be completed
      • copyStylesheet

        protected void copyStylesheet​(File outputDirectory)
        Copies the stylesheet to the specified output directory.
        Parameters:
        outputDirectory - The output directory to copy the stylesheet to