Package: org.gradle.api.tasks.javadoc

## [Java] Class Groovydoc

- org.gradle.api.tasks.javadoc.Groovydoc

- Generates HTML API documentation for Groovy source, and optionally, Java source.

  This task uses Groovy's Groovydoc tool to generate the API documentation. Please note that the Groovydoc tool has some severe limitations at the moment (for example no doc for properties comments). The version of the Groovydoc that is used, is the one from the Groovy defined in the build script. Please note also, that the Groovydoc tool prints to System.out for many of its statements and does circumvents our logging currently.

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `Groovydoc.Link` | A Link class represent a link between groovydoc/javadoc output and url.

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class SourceTask` | `source`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `Groovydoc ()`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `protected void` | `generate()`
    `AntGroovydoc` | `getAntGroovydoc()`
    `FileCollection` | `getClasspath()` Returns the classpath used to locate classes referenced by the documented sources.
    `File` | `getDestinationDir()` Returns the directory to generate the documentation into.
    `String` | `getDocTitle()` Returns the title for the package index(first) page.
    `String` | `getFooter()` Returns the HTML footer for each page.
    `FileCollection` | `getGroovyClasspath()` Returns the classpath containing the Groovy library to be used.
    `String` | `getHeader()` Returns the HTML header for each page.
    `Set<Link>` | `getLinks()` Returns the links to groovydoc/javadoc output at the given URL.
    `String` | `getOverview()` Returns a HTML file to be used for overview documentation.
    `String` | `getWindowTitle()` Returns the browser window title for the documentation.
    `boolean` | `isIncludePrivate()` Returns whether to include all classes and members (i.e. including private ones).
    `boolean` | `isUse()` Returns whether to create class and package usage pages.
    `void` | `link(String url, String... packages)` Add links to groovydoc/javadoc output at the given URL.
    `void` | `setAntGroovydoc(AntGroovydoc antGroovydoc)`
    `void` | `setClasspath(FileCollection classpath)` Sets the classpath used to locate classes referenced by the documented sources.
    `void` | `setDestinationDir(File destinationDir)` Sets the directory to generate the documentation into.
    `void` | `setDocTitle(String docTitle)` Sets title for the package index(first) page (optional).
    `void` | `setFooter(String footer)` Sets footer text for each page (optional).
    `void` | `setGroovyClasspath(FileCollection groovyClasspath)` Sets the classpath containing the Groovy library to be used.
    `void` | `setHeader(String header)` Sets header text for each page (optional).
    `void` | `setIncludePrivate(boolean includePrivate)` Sets whether to include all classes and members (i.e. including private ones) if set to true.
    `void` | `setLinks(Set<Link> links)` Sets links to groovydoc/javadoc output at the given URL.
    `void` | `setOverview(String overview)` Sets a HTML file to be used for overview documentation (optional).
    `void` | `setUse(boolean use)` Sets whether to create class and package usage pages.
    `void` | `setWindowTitle(String windowTitle)` Sets the browser window title for the documentation.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class SourceTask` | `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getSource, include, include, include, include, setExcludes, setIncludes, setSource, source`

- - ### Constructor Detail

    - #### public Groovydoc()

  - ### Method Detail

    - #### @TaskAction protected void generate()

    - #### public AntGroovydoc getAntGroovydoc()

    - #### @InputFiles public FileCollection getClasspath()

      Returns the classpath used to locate classes referenced by the documented sources.

      Returns:
        The classpath used to locate classes referenced by the documented sources

    - #### @OutputDirectory public File getDestinationDir()

      Returns the directory to generate the documentation into.

      Returns:
        The directory to generate the documentation into

    - #### @Input @Optional public String getDocTitle()

      Returns the title for the package index(first) page. Set to `null` when there is no document title.

    - #### @Input @Optional public String getFooter()

      Returns the HTML footer for each page. Set to `null` when there is no footer.

    - #### @InputFiles public FileCollection getGroovyClasspath()

      Returns the classpath containing the Groovy library to be used.

      Returns:
        The classpath containing the Groovy library to be used

    - #### @Input @Optional public String getHeader()

      Returns the HTML header for each page. Set to `null` when there is no header.

    - #### @Input public Set<Link> getLinks()

      Returns the links to groovydoc/javadoc output at the given URL.

    - #### public String getOverview()

      Returns a HTML file to be used for overview documentation. Set to `null` when there is no overview file.

    - #### @Input @Optional public String getWindowTitle()

      Returns the browser window title for the documentation. Set to `null` when there is no window title.

    - #### @Input public boolean isIncludePrivate()

      Returns whether to include all classes and members (i.e. including private ones).

    - #### @Input public boolean isUse()

      Returns whether to create class and package usage pages.

    - #### public void link(String url, String... packages)

      Add links to groovydoc/javadoc output at the given URL.

      Parameters:
        `url` - Base URL of external site
        `packages` - list of package prefixes

    - #### public void setAntGroovydoc(AntGroovydoc antGroovydoc)

    - #### public void setClasspath(FileCollection classpath)

      Sets the classpath used to locate classes referenced by the documented sources.

    - #### public void setDestinationDir(File destinationDir)

      Sets the directory to generate the documentation into.

    - #### public void setDocTitle(String docTitle)

      Sets title for the package index(first) page (optional).

      Parameters:
        `docTitle` - the docTitle as HTML

    - #### public void setFooter(String footer)

      Sets footer text for each page (optional).

      Parameters:
        `footer` - the footer as HTML

    - #### public void setGroovyClasspath(FileCollection groovyClasspath)

      Sets the classpath containing the Groovy library to be used.

    - #### public void setHeader(String header)

      Sets header text for each page (optional).

      Parameters:
        `header` - the header as HTML

    - #### public void setIncludePrivate(boolean includePrivate)

      Sets whether to include all classes and members (i.e. including private ones) if set to true.

    - #### public void setLinks(Set<Link> links)

      Sets links to groovydoc/javadoc output at the given URL.

      Parameters:
        `links` - The links to set
      See Also:
        link(String, String...)

    - #### public void setOverview(String overview)

      Sets a HTML file to be used for overview documentation (optional).

    - #### public void setUse(boolean use)

      Sets whether to create class and package usage pages.

    - #### public void setWindowTitle(String windowTitle)

      Sets the browser window title for the documentation.

      Parameters:
        `windowTitle` - A text for the windows title