Javadoc

API Documentation:Javadoc

Generates HTML API documentation for Java classes.

If you create your own Javadoc tasks remember to specify the 'source' property! Without source the Javadoc task will not create any documentation. Example:

plugins {
    id 'java'
}

task myJavadocs(type: Javadoc) {
  source = sourceSets.main.allJava
}

An example how to create a task that runs a custom doclet implementation:

plugins {
    id 'java'
}

configurations {
  jaxDoclet
}

dependencies {
  //jaxDoclet "some.interesting:Dependency:1.0"
}

task generateRestApiDocs(type: Javadoc) {
  source = sourceSets.main.allJava
  destinationDir = reporting.file("rest-api-docs")
  options.docletpath = configurations.jaxDoclet.files.asType(List)
  options.doclet = "com.lunatech.doclets.jax.jaxrs.JAXRSDoclet"
  options.addStringOption("jaxrscontext", "http://localhost:8080/myapp")
}

Properties

PropertyDescription
classpath

The classpath to use to resolve type references in the source code.

destinationDir

The directory to generate the documentation into.

excludes

The set of exclude patterns.

executable

The Javadoc executable to use to generate the Javadoc. When null, the Javadoc executable for the current JVM is used or from the toolchain if configured.

failOnError

Specifies whether this task should fail when errors are encountered during Javadoc generation. When true, this task will fail on Javadoc error. When false, this task will ignore Javadoc errors.

includes

The set of include patterns.

javadocTool

Configures the javadoc executable to be used to generate javadoc documentation.

maxMemory

The amount of memory allocated to this task.

modularity

The module path handling of this javadoc task.

options

The Javadoc generation options.

source

The source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

title

The title for the generated documentation.

Methods

MethodDescription
exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

source(sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files(java.lang.Object[]).

Script blocks

No script blocks

Property details

FileCollection classpath

The classpath to use to resolve type references in the source code.

Default with java plugin:
project.sourceSets.main.compileClasspath

File destinationDir

The directory to generate the documentation into.

Default with java plugin:
${project.docsDir}/javadoc

Set<String> excludes

The set of exclude patterns.

String executable

The Javadoc executable to use to generate the Javadoc. When null, the Javadoc executable for the current JVM is used or from the toolchain if configured.

Default with java plugin:
null

boolean failOnError

Specifies whether this task should fail when errors are encountered during Javadoc generation. When true, this task will fail on Javadoc error. When false, this task will ignore Javadoc errors.

Default with java plugin:
true

Set<String> includes

The set of include patterns.

Property<JavadocTool> javadocTool

Configures the javadoc executable to be used to generate javadoc documentation.

Default with java plugin:
java.toolchain

String maxMemory

The amount of memory allocated to this task.

Default with java plugin:
null

ModularitySpec modularity (read-only)

The module path handling of this javadoc task.

MinimalJavadocOptions options (read-only)

The Javadoc generation options.

FileTree source (read-only)

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.

Default with java plugin:
project.sourceSets.main.allJava

String title

The title for the generated documentation.

Default with java plugin:
project.reporting.apiDocTitle

Method details

SourceTask exclude(Closure excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

copySpec {
  from 'source'
  into 'destination'
  //an example of excluding files from certain configuration:
  exclude { it.file in configurations.someConf.files }
}

If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Iterable<String> excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(String... excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Spec<FileTreeElement> excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask include(Closure includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask include(Iterable<String> includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(String... includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(Spec<FileTreeElement> includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask source(Object... sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files(java.lang.Object[]).