Class Groovydoc

  • All Implemented Interfaces:
    java.lang.Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>

    @CacheableTask
    public abstract class Groovydoc
    extends SourceTask

    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 limitations at the moment. The version of the Groovydoc that is used, is the one from the Groovy dependency defined in the build script.

    • Constructor Detail

      • Groovydoc

        public Groovydoc()
    • Method Detail

      • generate

        protected void generate()
      • getSource

        @PathSensitive(RELATIVE)
        public FileTree getSource()
        Returns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

        The PathSensitivity for the sources is configured to be PathSensitivity.ABSOLUTE. If your sources are less strict, please change it accordingly by overriding this method in your subclass.

        Overrides:
        getSource in class SourceTask
        Returns:
        The source.
      • getDestinationDir

        @OutputDirectory
        public java.io.File getDestinationDir()
        Returns the directory to generate the documentation into.
        Returns:
        The directory to generate the documentation into
      • setDestinationDir

        public void setDestinationDir​(java.io.File destinationDir)
        Sets the directory to generate the documentation into.
      • getGroovyClasspath

        @Classpath
        public FileCollection getGroovyClasspath()
        Returns the classpath containing the Groovy library to be used.
        Returns:
        The classpath containing the Groovy library to be used
      • setGroovyClasspath

        public void setGroovyClasspath​(FileCollection groovyClasspath)
        Sets the classpath containing the Groovy library to be used.
      • getClasspath

        @Classpath
        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
      • setClasspath

        public void setClasspath​(FileCollection classpath)
        Sets the classpath used to locate classes referenced by the documented sources.
      • getAntGroovydoc

        @Internal
        public org.gradle.api.internal.tasks.AntGroovydoc getAntGroovydoc()
      • setAntGroovydoc

        public void setAntGroovydoc​(org.gradle.api.internal.tasks.AntGroovydoc antGroovydoc)
      • isUse

        @Input
        public boolean isUse()
        Returns whether to create class and package usage pages.
      • setUse

        public void setUse​(boolean use)
        Sets whether to create class and package usage pages.
      • isNoTimestamp

        @Input
        public boolean isNoTimestamp()
        Returns whether to include timestamp within hidden comment in generated HTML (Groovy >= 2.4.6).
      • setNoTimestamp

        public void setNoTimestamp​(boolean noTimestamp)
        Sets whether to include timestamp within hidden comment in generated HTML (Groovy >= 2.4.6).
      • isNoVersionStamp

        @Input
        public boolean isNoVersionStamp()
        Returns whether to include version stamp within hidden comment in generated HTML (Groovy >= 2.4.6).
      • setNoVersionStamp

        public void setNoVersionStamp​(boolean noVersionStamp)
        Sets whether to include version stamp within hidden comment in generated HTML (Groovy >= 2.4.6).
      • getWindowTitle

        @Nullable
        @Optional
        @Input
        public java.lang.String getWindowTitle()
        Returns the browser window title for the documentation. Set to null when there is no window title.
      • setWindowTitle

        public void setWindowTitle​(@Nullable
                                   java.lang.String windowTitle)
        Sets the browser window title for the documentation.
        Parameters:
        windowTitle - A text for the windows title
      • getDocTitle

        @Nullable
        @Optional
        @Input
        public java.lang.String getDocTitle()
        Returns the title for the package index(first) page. Set to null when there is no document title.
      • setDocTitle

        public void setDocTitle​(@Nullable
                                java.lang.String docTitle)
        Sets title for the package index(first) page (optional).
        Parameters:
        docTitle - the docTitle as HTML
      • getHeader

        @Nullable
        @Optional
        @Input
        public java.lang.String getHeader()
        Returns the HTML header for each page. Set to null when there is no header.
      • setHeader

        public void setHeader​(@Nullable
                              java.lang.String header)
        Sets header text for each page (optional).
        Parameters:
        header - the header as HTML
      • getFooter

        @Nullable
        @Optional
        @Input
        public java.lang.String getFooter()
        Returns the HTML footer for each page. Set to null when there is no footer.
      • setFooter

        public void setFooter​(@Nullable
                              java.lang.String footer)
        Sets footer text for each page (optional).
        Parameters:
        footer - the footer as HTML
      • getOverviewText

        @Nullable
        @Optional
        public TextResource getOverviewText()
        Returns a HTML text to be used for overview documentation. Set to null when there is no overview text.
      • setOverviewText

        public void setOverviewText​(@Nullable
                                    TextResource overviewText)
        Sets a HTML text to be used for overview documentation (optional).

        Example: overviewText = resources.text.fromFile("/overview.html")

      • getAccess

        @Input
        public Property<GroovydocAccess> getAccess()
        The most restrictive access level to include in the Groovydoc.

        For example, to include classes and members with package, protected, and public access, use GroovydocAccess.PACKAGE.

        Returns:
        the access property
        Since:
        7.5
      • getIncludeAuthor

        @Input
        public Property<java.lang.Boolean> getIncludeAuthor()
        Whether to include author paragraphs.
        Since:
        7.5
      • getProcessScripts

        @Input
        public Property<java.lang.Boolean> getProcessScripts()
        Whether to process scripts.
        Since:
        7.5
      • getIncludeMainForScripts

        @Input
        public Property<java.lang.Boolean> getIncludeMainForScripts()
        Whether to include main method for scripts.
        Since:
        7.5
      • getLinks

        @Input
        public java.util.Set<Groovydoc.Link> getLinks()
        Returns the links to groovydoc/javadoc output at the given URL.
      • setLinks

        public void setLinks​(java.util.Set<Groovydoc.Link> links)
        Sets links to groovydoc/javadoc output at the given URL.
        Parameters:
        links - The links to set
        See Also:
        link(String, String...)
      • link

        public void link​(java.lang.String url,
                         java.lang.String... packages)
        Add links to groovydoc/javadoc output at the given URL.
        Parameters:
        url - Base URL of external site
        packages - list of package prefixes
      • getDeleter

        @Inject
        protected org.gradle.internal.file.Deleter getDeleter()