Package org.codehaus.groovy.ant

# Class Groovydoc

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.codehaus.groovy.ant.Groovydoc

All Implemented Interfaces:
  `Cloneable`

public class Groovydoc extends org.apache.tools.ant.Task
Access to the GroovyDoc tool from Ant.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `Groovydoc.AddStylesheet`
  Nested-element holder populated by Ant introspection for `<addStylesheet file="..."/>`.

- ## Field Summary

  ### Fields inherited from class org.apache.tools.ant.Task

  `target, taskName, taskType, wrapper`

  ### Fields inherited from class org.apache.tools.ant.ProjectComponent

  `description, location, project`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Groovydoc()`
  Creates a Groovydoc Ant task with the default option set.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Groovydoc.AddStylesheet`
  `createAddStylesheet()`
  GROOVY-11941: Ant nested element `<addStylesheet file="custom.css"/>` to include an additional stylesheet in the generated docs alongside the default.
  `LinkArgument`
  `createLink()`
  Create link to Javadoc/GroovyDoc output at the given URL.
  `void`
  `execute()`
  Generates Groovydoc output for the configured source path.
  `protected String[]`
  `getClassTemplates()`
  Creates and returns an array of class template classpath entries.
  `protected String[]`
  `getDocTemplates()`
  Creates and returns an array of doc template classpath entries.
  `protected String[]`
  `getPackageTemplates()`
  Creates and returns an array of package template classpath entries.
  `void`
  `setAccess(String access)`
  Indicates the access mode or scope of interest: one of public, protected, package, or private.
  `void`
  `setAuthor(boolean author)`
  If set to false, author will not be displayed.
  `void`
  `setCharset(String charset)`
  Specifies the charset to be used in the templates, i.e. the value output within: <meta http-equiv="Content-Type" content="text/html; charset=charset">.
  `void`
  `setDestdir(File dir)`
  Set the directory where the Groovydoc output will be generated.
  `void`
  `setDoctitle(String htmlTitle)`
  Set the title for the overview page.
  `void`
  `setExcludePackageNames(String packages)`
  Set the packages to exclude from documentation.
  `void`
  `setExtensions(String extensions)`
  A colon-separated list of filename extensions to look for when searching for files to process in a given directory.
  `void`
  `setFileEncoding(String fileEncoding)`
  Specifies the file encoding to be used for generated files.
  `void`
  `setFooter(String footer)`
  Set the footer to place at the bottom of each generated html page.
  `void`
  `setHeader(String header)`
  Specifies the header text to be placed at the top of each output file.
  `void`
  `setIncludeMainForScripts(boolean includeMainForScripts)`
  If set to false, 'public static void main' method will not be displayed.
  `void`
  `setJavaVersion(String javaVersion)`
  Defaults to a popular Java version defined by the JavaParser library.
  `void`
  `setNoDeprecatedList(boolean noDeprecatedList)`
  GROOVY-11943: if set to true, suppress generation of the deprecated-list page (`deprecated-list.html`) and its nav-bar link.
  `void`
  `setNoHelp(boolean noHelp)`
  GROOVY-11943: if set to true, suppress generation of the help page (`help-doc.html`) and its nav-bar link.
  `void`
  `setNoIndex(boolean noIndex)`
  GROOVY-11943: if set to true, suppress generation of the alphabetical index page (`index-all.html`) and its nav-bar link.
  `void`
  `setNoTimestamp(boolean noTimestamp)`
  If set to true, hidden timestamp will not appear within generated HTML.
  `void`
  `setNoVersionStamp(boolean noVersionStamp)`
  If set to true, hidden version stamp will not appear within generated HTML.
  `void`
  `setOverview(File file)`
  Specify the file containing the overview to be included in the generated documentation.
  `void`
  `setPackage(boolean b)`
  Indicate whether only package, protected and public classes and members are to be included in the scope processed.
  `void`
  `setPackagenames(String packages)`
  Set the package names to be processed.
  `void`
  `setPreLanguage(String preLanguage)`
  Default language id for `<pre>` blocks in rendered doc comments that carry no `class=` attribute.
  `void`
  `setPrivate(boolean b)`
  Indicate whether all classes and members are to be included in the scope processed.
  `void`
  `setProcessScripts(boolean processScripts)`
  If set to false, Scripts will not be processed.
  `void`
  `setProtected(boolean b)`
  Indicate whether only protected and public classes and members are to be included in the scope processed.
  `void`
  `setPublic(boolean b)`
  Indicate whether only public classes and members are to be included in the scope processed.
  `void`
  `setShowInternal(boolean showInternal)`
  If set to true, members annotated with `groovy.transform.@Internal` (per GEP-17) are still included in the generated documentation.
  `void`
  `setSourcepath(org.apache.tools.ant.types.Path src)`
  Specify where to find source file
  `void`
  `setStyleSheetFile(File styleSheetFile)`
  Specifies a stylesheet file to use.
  `void`
  `setSyntaxHighlighter(String syntaxHighlighter)`
  GROOVY-11938 stage 4: selects a client-side syntax highlighter for `{@snippet}` and fenced Markdown code blocks.
  `void`
  `setTheme(String theme)`
  GROOVY-11947: theme lock mode for the generated docs.
  `void`
  `setUse(boolean b)`
  Accepts the historical Ant `use` attribute for compatibility.
  `void`
  `setWindowtitle(String title)`
  Set the title to be placed in the HTML <title> tag of the generated documentation.

  ### Methods inherited from class org.apache.tools.ant.Task

  `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

  ### Methods inherited from class org.apache.tools.ant.ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Groovydoc

    public Groovydoc()
    Creates a Groovydoc Ant task with the default option set.

- ## Method Details

  - ### setSourcepath

    public void setSourcepath(org.apache.tools.ant.types.Path src)
    Specify where to find source file
    Parameters:
      `src` - a Path instance containing the various source directories.

  - ### setDestdir

    public void setDestdir(File dir)
    Set the directory where the Groovydoc output will be generated.
    Parameters:
      `dir` - the destination directory.

  - ### setAuthor

    public void setAuthor(boolean author)
    If set to false, author will not be displayed. Currently not used.
    Parameters:
      `author` - new value

  - ### setNoTimestamp

    public void setNoTimestamp(boolean noTimestamp)
    If set to true, hidden timestamp will not appear within generated HTML.
    Parameters:
      `noTimestamp` - new value

  - ### setNoVersionStamp

    public void setNoVersionStamp(boolean noVersionStamp)
    If set to true, hidden version stamp will not appear within generated HTML.
    Parameters:
      `noVersionStamp` - new value

  - ### setJavaVersion

    public void setJavaVersion(String javaVersion)
    Defaults to a popular Java version defined by the JavaParser library. Otherwise, override here for a specific expected source file version.
    Parameters:
      `javaVersion` - the expected source level of any Java files that may be parsed; e.g. JAVA_11

  - ### setPreLanguage

    public void setPreLanguage(String preLanguage)
    Default language id for `<pre>` blocks in rendered doc comments that carry no `class=` attribute. When set (e.g. `"groovy"`), a post-pass rewrites such `<pre>` openings to `<pre class="language-xxx">`, which enables Prism syntax highlighting for legacy doc-comment code blocks without touching source files. `<pre>` blocks that already have any `class` attribute (including `class="groovyTestCase"`) are left alone.
    Parameters:
      `preLanguage` - the language id, or empty/null to disable
    Since:
      6.0.0

  - ### setShowInternal

    public void setShowInternal(boolean showInternal)
    If set to true, members annotated with `groovy.transform.@Internal` (per GEP-17) are still included in the generated documentation. Defaults to false, so internal members are hidden.
    Parameters:
      `showInternal` - new value
    Since:
      6.0.0

  - ### setNoIndex

    public void setNoIndex(boolean noIndex)
    GROOVY-11943: if set to true, suppress generation of the alphabetical index page (`index-all.html`) and its nav-bar link.
    Since:
      6.0.0

  - ### setNoDeprecatedList

    public void setNoDeprecatedList(boolean noDeprecatedList)
    GROOVY-11943: if set to true, suppress generation of the deprecated-list page (`deprecated-list.html`) and its nav-bar link.
    Since:
      6.0.0

  - ### setNoHelp

    public void setNoHelp(boolean noHelp)
    GROOVY-11943: if set to true, suppress generation of the help page (`help-doc.html`) and its nav-bar link.
    Since:
      6.0.0

  - ### setSyntaxHighlighter

    public void setSyntaxHighlighter(String syntaxHighlighter)
    GROOVY-11938 stage 4: selects a client-side syntax highlighter for `{@snippet}` and fenced Markdown code blocks. Valid values are `"prism"` (bundled) or `"none"` (default). Any other value is treated as `"none"`.
    Since:
      6.0.0

  - ### setTheme

    public void setTheme(String theme)
    GROOVY-11947: theme lock mode for the generated docs.
    - `"auto"` (default) — emit a `prefers-color-scheme` media query so each reader sees their OS preference.
    - `"light"` — lock the palette to light regardless of OS.
    - `"dark"` — lock the palette to dark regardless of OS.
    Any other value is treated as `"auto"`.
    Since:
      6.0.0

  - ### setProcessScripts

    public void setProcessScripts(boolean processScripts)
    If set to false, Scripts will not be processed. Defaults to true.
    Parameters:
      `processScripts` - new value

  - ### setIncludeMainForScripts

    public void setIncludeMainForScripts(boolean includeMainForScripts)
    If set to false, 'public static void main' method will not be displayed. Defaults to true. Ignored when not processing Scripts.
    Parameters:
      `includeMainForScripts` - new value

  - ### setExtensions

    public void setExtensions(String extensions)
    A colon-separated list of filename extensions to look for when searching for files to process in a given directory. Default value: `.java:.groovy:.gv:.gvy:.gsh`
    Parameters:
      `extensions` - new value

  - ### setPackagenames

    public void setPackagenames(String packages)
    Set the package names to be processed.
    Parameters:
      `packages` - a comma separated list of packages specs (may be wildcarded).

  - ### setExcludePackageNames

    public void setExcludePackageNames(String packages)
    Set the packages to exclude from documentation. Mirrors the CLI `-exclude` option; the Ant task already honoured `excludePackageNames` internally when generating but lacked the public setter.
    Parameters:
      `packages` - a comma-separated (or colon-separated, to match the CLI form) list of package specs, possibly wildcarded.
    Since:
      6.0.0

  - ### setUse

    public void setUse(boolean b)
    Accepts the historical Ant `use` attribute for compatibility.
    Parameters:
      `b` - ignored

  - ### setWindowtitle

    public void setWindowtitle(String title)
    Set the title to be placed in the HTML <title> tag of the generated documentation.
    Parameters:
      `title` - the window title to use.

  - ### setDoctitle

    public void setDoctitle(String htmlTitle)
    Set the title for the overview page.
    Parameters:
      `htmlTitle` - the html to use for the title.

  - ### setOverview

    public void setOverview(File file)
    Specify the file containing the overview to be included in the generated documentation.
    Parameters:
      `file` - the overview file

  - ### setAccess

    public void setAccess(String access)
    Indicates the access mode or scope of interest: one of public, protected, package, or private. Package scoped access is ignored for fields of Groovy classes where they correspond to properties.
    Parameters:
      `access` - one of public, protected, package, or private

  - ### setPrivate

    public void setPrivate(boolean b)
    Indicate whether all classes and members are to be included in the scope processed.
    Parameters:
      `b` - true if scope is to be private level.

  - ### setPublic

    public void setPublic(boolean b)
    Indicate whether only public classes and members are to be included in the scope processed.
    Parameters:
      `b` - true if scope only includes public level classes and members

  - ### setProtected

    public void setProtected(boolean b)
    Indicate whether only protected and public classes and members are to be included in the scope processed.
    Parameters:
      `b` - true if scope includes protected level classes and members

  - ### setPackage

    public void setPackage(boolean b)
    Indicate whether only package, protected and public classes and members are to be included in the scope processed. Package scoped access is ignored for fields of Groovy classes where they correspond to properties.
    Parameters:
      `b` - true if scope includes package level classes and members

  - ### setFooter

    public void setFooter(String footer)
    Set the footer to place at the bottom of each generated html page.
    Parameters:
      `footer` - the footer value

  - ### setHeader

    public void setHeader(String header)
    Specifies the header text to be placed at the top of each output file. The header will be placed to the right of the upper navigation bar. It may contain HTML tags and white space, though if it does, it must be enclosed in quotes. Any internal quotation marks within the header may have to be escaped.
    Parameters:
      `header` - the header value

  - ### setCharset

    public void setCharset(String charset)
    Specifies the charset to be used in the templates, i.e. the value output within: <meta http-equiv="Content-Type" content="text/html; charset=charset">.
    Parameters:
      `charset` - the charset value

  - ### setFileEncoding

    public void setFileEncoding(String fileEncoding)
    Specifies the file encoding to be used for generated files. If fileEncoding is missing, the charset encoding will be used for writing the files. If fileEncoding and charset are missing, the file encoding will default to Charset.defaultCharset().
    Parameters:
      `fileEncoding` - the file encoding

  - ### setStyleSheetFile

    public void setStyleSheetFile(File styleSheetFile)
    Specifies a stylesheet file to use. If not specified, a default one will be generated for you.
    Parameters:
      `styleSheetFile` - the css stylesheet file to use

  - ### createAddStylesheet

    public Groovydoc.AddStylesheet createAddStylesheet()
    GROOVY-11941: Ant nested element `<addStylesheet file="custom.css"/>` to include an additional stylesheet in the generated docs alongside the default. Repeatable — specify once per extra stylesheet.
    Returns:
      a holder that Ant will populate with the nested element's file attribute
    Since:
      6.0.0

  - ### execute

    public void execute() throws org.apache.tools.ant.BuildException
    Generates Groovydoc output for the configured source path.
    Overrides:
      `execute` in class `org.apache.tools.ant.Task`
    Throws:
      `org.apache.tools.ant.BuildException` - if generation fails

  - ### createLink

    public LinkArgument createLink()
    Create link to Javadoc/GroovyDoc output at the given URL.
    Returns:
      link argument to configure

  - ### getPackageTemplates

    protected String[] getPackageTemplates()
    Creates and returns an array of package template classpath entries.

    This method is meant to be overridden by custom GroovyDoc implementations, using custom package templates.

    Returns:
      an array of package templates, whereas each entry is resolved as classpath entry, defaults to `GroovyDocTemplateInfo.DEFAULT_PACKAGE_TEMPLATES`.

  - ### getDocTemplates

    protected String[] getDocTemplates()
    Creates and returns an array of doc template classpath entries.

    This method is meant to be overridden by custom GroovyDoc implementations, using custom doc templates.

    Returns:
      an array of doc templates, whereas each entry is resolved as classpath entry, defaults to `GroovyDocTemplateInfo.DEFAULT_DOC_TEMPLATES`.

  - ### getClassTemplates

    protected String[] getClassTemplates()
    Creates and returns an array of class template classpath entries.

    This method is meant to be overridden by custom GroovyDoc implementations, using custom class templates.

    Returns:
      an array of class templates, whereas each entry is resolved as classpath entry, defaults to `GroovyDocTemplateInfo.DEFAULT_CLASS_TEMPLATES`.