Class DokkaOperation


public class DokkaOperation extends AbstractProcessOperation<DokkaOperation>
Builds documentation (javadoc, HTML, etc.) using Dokka.
Since:
1.0
Author:
Erik C. Thauvin
  • Constructor Details

    • DokkaOperation

      public DokkaOperation()
  • Method Details

    • delayTemplateSubstitution

      public DokkaOperation delayTemplateSubstitution(Boolean delayTemplateSubstitution)
      Sets the delay substitution of some elements.

      Used in incremental builds of multimodule projects.

      Parameters:
      delayTemplateSubstitution - the delay
      Returns:
      this operation instance
    • executeConstructProcessCommandList

      protected List<String> executeConstructProcessCommandList()
      Part of the execute operation, constructs the command list to use for building the process.
      Specified by:
      executeConstructProcessCommandList in class AbstractProcessOperation<DokkaOperation>
      Since:
      1.5
    • fromProject

      public DokkaOperation fromProject(BaseProject project)
      Configures the operation from a BaseProject.

      Sets the sourceSet, jdkVersion and moduleName from the project.

      Specified by:
      fromProject in class AbstractProcessOperation<DokkaOperation>
      Parameters:
      project - the project to configure the operation from
    • failOnWarning

      public DokkaOperation failOnWarning(Boolean failOnWarning)
      Sets whether to fail documentation generation if Dokka has emitted a warning or an error.

      Whether to fail documentation generation if Dokka has emitted a warning or an error. The process waits until all errors and warnings have been emitted first.

      This setting works well with SourceSet.reportUndocumented(java.lang.Boolean)

      Parameters:
      failOnWarning - true or false
      Returns:
      this operation instance
    • globalLinks

      public DokkaOperation globalLinks(String url, String packageListUrl)
      Set the global external documentation links.
      Parameters:
      url - the external documentation URL
      packageListUrl - the external documentation package list URL
      Returns:
      this operation instance
    • globalLinks

      public DokkaOperation globalLinks(Map<String,String> globalLinks)
      Set the global external documentation links.
      Parameters:
      globalLinks - the map of global links
      Returns:
      this operation instance
      See Also:
    • globalPackageOptions

      public DokkaOperation globalPackageOptions(String... options)
      Sets the global list of package configurations.

      Using format:

      • matchingRegexp
      • -deprecated
      • -privateApi
      • +warnUndocumented
      • +suppress
      • +visibility:PUBLIC
      • ...
      Parameters:
      options - ome pr more package configurations
      Returns:
      this operation instance
    • globalPackageOptions

      public DokkaOperation globalPackageOptions(Collection<String> options)
      Sets the global list of package configurations.

      Using format:

      • matchingRegexp
      • -deprecated
      • -privateApi
      • +warnUndocumented
      • +suppress
      • +visibility:PUBLIC
      • ...
      Parameters:
      options - the list of package configurations
      Returns:
      this operation instance
    • globalSrcLink

      public DokkaOperation globalSrcLink(String... links)
      Sets the global mapping between a source directory and a Web service for browsing the code.
      Parameters:
      links - one or more links mapping
      Returns:
      this operation instance
    • globalSrcLink

      public DokkaOperation globalSrcLink(Collection<String> links)
      Sets the global mapping between a source directory and a Web service for browsing the code.
      Parameters:
      links - the links mapping
      Returns:
      this operation instance
    • includes

      public DokkaOperation includes(String... files)
      Sets the Markdown files that contain module and package documentation.

      The contents of specified files are parsed and embedded into documentation as module and package descriptions.

      This can be configured on per-package basis.

      Parameters:
      files - one or more files
      Returns:
      this operation instance
    • includes

      public DokkaOperation includes(Collection<String> files)
      Sets the Markdown files that contain module and package documentation.

      The contents of specified files are parsed and embedded into documentation as module and package descriptions.

      This can be configured on per-package basis.

      Parameters:
      files - the list of files
      Returns:
      this operation instance
    • loggingLevel

      public DokkaOperation loggingLevel(LoggingLevel loggingLevel)
      Sets the logging level.
      Parameters:
      loggingLevel - the logging level
      Returns:
      this operation instance
    • moduleName

      public DokkaOperation moduleName(String moduleName)
      Sets the name of the project/module. Default is root.

      The display name used to refer to the module. It is used for the table of contents, navigation, logging, etc.

      Parameters:
      moduleName - the project/module name
      Returns:
      this operation instance
    • moduleVersion

      public DokkaOperation moduleVersion(String version)
      Set the documented version.
      Parameters:
      version - the version
      Returns:
      this operation instance
    • noSuppressObviousFunctions

      public DokkaOperation noSuppressObviousFunctions(Boolean noSuppressObviousFunctions)
      Sets whether to suppress obvious functions such as inherited from kotlin.Any and Object.

      A function is considered to be obvious if it is:

      • Inherited from kotlin.Any, Kotlin.Enum, Object or Enum, such as equals, hashCode, toString.
      • Synthetic (generated by the compiler) and does not have any documentation, such as dataClass.componentN or dataClass.copy.
      Parameters:
      noSuppressObviousFunctions - true or false
      Returns:
      this operation instance
    • offlineMode

      public DokkaOperation offlineMode(Boolean offlineMode)
      Sets whether to resolve remote files/links over network.

      This includes package-lists used for generating external documentation links. For example, to make classes from the standard library clickable.

      Setting this to true can significantly speed up build times in certain cases, but can also worsen documentation quality and user experience. For example, by not resolving class/member links from your dependencies, including the standard library.

      Note: You can cache fetched files locally and provide them to Dokka as local paths.

      Parameters:
      offlineMode - the offline mode
      Returns:
      this operation instance
      See Also:
    • outputDir

      public DokkaOperation outputDir(File outputDir)
      Sets the output directory path, ./dokka by default.

      The directory to where documentation is generated, regardless of output format.

      Parameters:
      outputDir - the output directory
      Returns:
      this operation instance
    • outputDir

      public DokkaOperation outputDir(String outputDir)
      Sets the output directory path, ./dokka by default.
      Parameters:
      outputDir - the output directory
      Returns:
      this operation instance
    • outputFormat

      public DokkaOperation outputFormat(OutputFormat format)
      Sets the Dokka output format.
      Parameters:
      format - The output format
      Returns:
      this operation instance
    • pluginConfiguration

      public DokkaOperation pluginConfiguration(String name, String jsonConfiguration)
      Sets the configuration for Dokka plugins.
      Parameters:
      name - The fully-qualified plugin name
      jsonConfiguration - The plugin JSON configuration
      Returns:
      this operation instance
    • pluginConfiguration

      public DokkaOperation pluginConfiguration(Map<String,String> pluginConfiguration)
      Sets the configuration for Dokka plugins.
      Parameters:
      pluginConfiguration - the map of configurations
      Returns:
      this operation instance
      See Also:
    • pluginsClasspath

      public DokkaOperation pluginsClasspath(String... jars)
      Sets the list of jars with Dokka plugins and their dependencies.
      Parameters:
      jars - one or more jars
      Returns:
      this operation instance
    • pluginsClasspath

      public DokkaOperation pluginsClasspath(Collection<String> jars)
      Sets the list of jars with Dokka plugins and their dependencies.
      Parameters:
      jars - the list of jars
      Returns:
      this operation instance
    • pluginsClasspath

      public DokkaOperation pluginsClasspath(boolean clear)
      Clears the list of Dokka plugins.
      Parameters:
      clear - set to clear the list
      Returns:
      this operation instance
    • sourceSet

      public DokkaOperation sourceSet(SourceSet sourceSet)
      Sets the configurations for a source set.

      Individual and additional configuration of Kotlin source sets.

      Parameters:
      sourceSet - the source set configurations
      Returns:
      this operation instance
    • suppressInheritedMembers

      public DokkaOperation suppressInheritedMembers(Boolean suppressInheritedMembers)
      Sets whether to suppress inherited members that aren't explicitly overridden in a given class.
      Parameters:
      suppressInheritedMembers - true or false
      Returns:
      this operation instance