Class AbstractGroovyDocMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
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 Details

    • 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.
    • 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"
    • 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 Details

    • AbstractGroovyDocMojo

      public AbstractGroovyDocMojo()
  • Method Details

    • doGroovyDocGeneration

      protected void doGroovyDocGeneration(org.apache.maven.shared.model.fileset.FileSet[] sourceDirectories, List<?> classpath, File outputDirectory) throws ClassNotFoundException, InvocationTargetException, IllegalAccessException, InstantiationException, MalformedURLException
      Generates the GroovyDoc for the specified sources.
      Parameters:
      sourceDirectories - The source directories to generate GroovyDoc for
      classpath - The classpath to use for compilation
      outputDirectory - The directory to save the generated GroovyDoc in
      Throws:
      ClassNotFoundException - when a class needed for GroovyDoc generation cannot be found
      InstantiationException - when a class needed for GroovyDoc generation cannot be instantiated
      IllegalAccessException - when a method needed for GroovyDoc generation cannot be accessed
      InvocationTargetException - when a reflection invocation needed for GroovyDoc generation cannot be completed
      MalformedURLException - when a classpath element provides a malformed URL
    • setupProperties

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

      Sets up the GroovyDoc links.
      Returns:
      the GroovyDoc links
      Throws:
      ClassNotFoundException - when a class needed for setting up GroovyDoc links cannot be found
      InstantiationException - when a class needed for setting up GroovyDoc links cannot be instantiated
      IllegalAccessException - when a method needed for setting up GroovyDoc links cannot be accessed
      InvocationTargetException - when a reflection invocation needed for setting up GroovyDoc links cannot be completed
    • 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