Package org.codehaus.gmavenplus.mojo
Class AbstractGroovydocMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
-
- org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
-
- org.codehaus.gmavenplus.mojo.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 Summary
Fields Modifier and Type Field Description protected boolean
displayAuthor
Whether to display the author in the generated Groovydoc.protected String
docTitle
The page title.protected String
footer
The page footer.protected static Version
GROOVY_1_5_2
Groovy 1.5.2 version.protected static Version
GROOVY_1_5_8
Groovy 1.5.8 version.protected static Version
GROOVY_1_6_0_RC1
Groovy 1.6.0 RC-1 version.protected static Version
GROOVY_1_6_0_RC2
Groovy 1.6.0 RC-2 version.protected boolean
groovydocJavaSources
Whether to include Java sources in groovydoc generation.protected File
groovydocOutputDirectory
The location for the generated API docs.protected String
header
The page header.protected List<Link>
links
Links to include in the generated groovydoc (key is link href, value is comma-separated packages to use that link).protected File
overviewFile
The HTML file to be used for overview documentation.protected String
scope
The scope to generate Groovydoc for.protected String
stylesheetEncoding
The encoding of stylesheetFile.protected File
stylesheetFile
The stylesheet file (absolute path) to copy to output directory (will overwrite default stylesheet.css).protected File
testGroovydocOutputDirectory
The location for the generated test API docs.protected String
windowTitle
The window title.-
Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
MAIN, sources, TEST, testSources
-
Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
classWrangler, GROOVY_1_5_0, GROOVY_SOURCES_PATTERN, JAVA_1_7, JAVA_SOURCES_PATTERN, minGroovyVersion, mojoExecution, pluginArtifacts, project, session, skipTests
-
-
Constructor Summary
Constructors Constructor Description AbstractGroovydocMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
copyStylesheet(File outputDirectory)
Copies the stylesheet to the specified output directory.protected Object
createGroovyDocTool(Class groovyDocToolClass, Class resourceManagerClass, Properties docProperties, Object classpathResourceManager, List<String> sourceDirectories, GroovyDocTemplateInfo groovyDocTemplateInfo, List groovydocLinks)
Instantiates a new GroovyDocTool.protected void
doGroovydocGeneration(org.apache.maven.shared.model.fileset.FileSet[] sourceDirectories, List classpath, File outputDirectory)
Generates the Groovydoc for the specified sources.protected void
generateGroovydoc(File outputDirectory, Class groovyDocToolClass, Class outputToolClass, Object fileOutputTool, List<String> groovydocSources, Object groovyDocTool)
Performs the Groovydoc generation.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).protected List
setupLinks()
Sets up the Groovydoc links.protected Properties
setupProperties()
Sets up the documentation properties.-
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
getFiles, getFilesets, getSourceRoots, getSourceRoots, getSources, getSources, getTestSourceRoots, getTestSourceRoots, getTestSources, getTestSources, setSources, setTestSources
-
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyVersionSupportsAction, isJavaSupportIndy, logPluginClasspath
-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
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.
-
groovydocOutputDirectory
protected File groovydocOutputDirectory
The location for the generated API docs.
-
testGroovydocOutputDirectory
protected File testGroovydocOutputDirectory
The location for the generated test API docs.
-
windowTitle
protected String windowTitle
The window title.
-
docTitle
protected String docTitle
The page title.
-
footer
protected String footer
The page footer.
-
header
protected String header
The page header.
-
displayAuthor
protected boolean displayAuthor
Whether to display the author in the generated Groovydoc.
-
overviewFile
protected File overviewFile
The HTML file to be used for overview documentation.
-
stylesheetFile
protected File stylesheetFile
The stylesheet file (absolute path) to copy to output directory (will overwrite default stylesheet.css).
-
stylesheetEncoding
protected String stylesheetEncoding
The encoding of stylesheetFile.
-
scope
protected String scope
The scope to generate Groovydoc for. Should be one of:- "public"
- "protected"
- "package"
- "private"
-
links
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
-
groovydocJavaSources
protected boolean groovydocJavaSources
Whether to include Java sources in groovydoc generation.- Since:
- 1.0-beta-2
-
-
Method Detail
-
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 forclasspath
- The classpath to use for compilationoutputDirectory
- The directory to save the generated groovydoc in- Throws:
ClassNotFoundException
- when a class needed for groovydoc generation cannot be foundInstantiationException
- when a class needed for groovydoc generation cannot be instantiatedIllegalAccessException
- when a method needed for groovydoc generation cannot be accessedInvocationTargetException
- when a reflection invocation needed for groovydoc generation cannot be completedMalformedURLException
- when a classpath element provides a malformed URL
-
setupProperties
protected Properties setupProperties()
Sets up the documentation properties.- Returns:
- the documentation properties
-
setupLinks
protected List setupLinks() throws ClassNotFoundException, InvocationTargetException, IllegalAccessException, InstantiationException
Sets up the Groovydoc links.- Returns:
- the Groovydoc links
- Throws:
ClassNotFoundException
- when a class needed for setting up Groovydoc links cannot be foundInstantiationException
- when a class needed for setting up Groovydoc links cannot be instantiatedIllegalAccessException
- when a method needed for setting up Groovydoc links cannot be accessedInvocationTargetException
- 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 classresourceManagerClass
- the ResourceManager lassdocProperties
- the documentation propertiesclasspathResourceManager
- the ClasspathResourceManager for the GroovyDocToolsourceDirectories
- the source directories for the GroovyDocToolgroovyDocTemplateInfo
- the GroovyDocTemplateInfo for the GroovyDocToolgroovydocLinks
- the Groovydoc links- Returns:
- the GroovyDocTool to use in Groovydoc generation
- Throws:
InstantiationException
- when a class needed for setting up Groovydoc tool cannot be instantiatedIllegalAccessException
- when a method needed for setting up Groovydoc tool cannot be accessedInvocationTargetException
- 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 fromfileSetManager
- 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 togroovyDocToolClass
- the GroovyDocTool classoutputToolClass
- the OutputTool classfileOutputTool
- the FileOutputTool to use for Groovydoc generationgroovydocSources
- the sources togroovyDocTool
- the GroovyDocTool to use for Groovydoc generation- Throws:
IllegalAccessException
- when a method needed for Groovydoc generation cannot be accessedInvocationTargetException
- 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
-
-