bld Extension to Generate API Documentation with Dokka for Kotlin https://github.com/rife2/bld-dokka
Find a file
Erik C. Thauvin 11a00fdc53
Some checks failed
bld-ci / build-bld-project (17, 1.9.25, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (17, 1.9.25, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (17, 1.9.25, windows-latest) (push) Has been cancelled
bld-ci / build-bld-project (17, 2.1.20, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (17, 2.1.20, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (17, 2.1.20, windows-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 1.9.25, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 1.9.25, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 1.9.25, windows-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 2.1.20, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 2.1.20, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (21, 2.1.20, windows-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 1.9.25, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 1.9.25, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 1.9.25, windows-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 2.1.20, macos-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 2.1.20, ubuntu-latest) (push) Has been cancelled
bld-ci / build-bld-project (24, 2.1.20, windows-latest) (push) Has been cancelled
javadocs-pages / deploy (push) Has been cancelled
Only check kotlinc arguments on Linux
2025-03-24 01:21:31 -07:00
.github/workflows Add OS matrix to include the latest Ubuntu, Windows, and macOS 2025-03-24 01:09:59 -07:00
.idea Bump bld to version 2.2.1 2025-02-25 09:51:32 -08:00
.vscode Bump bld to version 2.2.1 2025-02-25 09:51:32 -08:00
config Updated dependencies 2024-10-27 16:22:57 -07:00
examples Bump Kotlin extension to version 1.1.0-SNAPSHOT 2025-03-24 01:14:21 -07:00
lib/bld Bump PMD extension to version 1.2.1 2025-03-18 12:50:30 -07:00
scripts Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
src Only check kotlinc arguments on Linux 2025-03-24 01:21:31 -07:00
.gitignore Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
bld Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
bld.bat Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
LICENSE.txt Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
README.md Add generic installation instructions 2025-03-18 12:57:56 -07:00

bld Extension to Generate API Documentation with Dokka for Kotlin

License Java bld Release Snapshot GitHub CI

To install the latest version, add the following to the lib/bld/bld-wrapper.properties file:

bld.extension-dokka=com.uwyn.rife2:bld-dokka

For more information, please refer to the extensions documentation.

Generate API Documentation

To generate a project's documentation in various formats:

@BuildCommand(value = "dokka-gfm", summary = "Generates documentation in GitHub flavored markdown format")
public void dokkaGfm() throws ExitStatusException, IOException, InterruptedException {
    new DokkaOperation()
            .fromProject(this)
            .loggingLevel(LoggingLevel.INFO)
            // Create build/dokka/gfm 
            .outputDir(Path.of(buildDirectory().getAbsolutePath(), "dokka", "gfm").toFile())
            .outputFormat(OutputFormat.MARKDOWN)
            .execute();
}

@BuildCommand(value = "dokka-html", summary = "Generates documentation in HTML format")
public void dokkaHtml() throws ExitStatusException, IOException, InterruptedException {
    new DokkaOperation()
            .fromProject(this)
            .loggingLevel(LoggingLevel.INFO)
            // Create build/dokka/html
            .outputDir(Path.of(buildDirectory().getAbsolutePath(), "dokka", "html").toFile())
            .outputFormat(OutputFormat.HTML)
            .execute();
}

@BuildCommand(value = "dokka-jekyll", summary = "Generates documentation in Jekyll flavored markdown format")
public void dokkaJekyll() throws ExitStatusException, IOException, InterruptedException {
    new DokkaOperation()
            .fromProject(this)
            .loggingLevel(LoggingLevel.INFO)
            // Create build/dokka/jekyll
            .outputDir(Path.of(buildDirectory().getAbsolutePath(), "dokka", "jekkyl").toFile())
            .outputFormat(OutputFormat.JEKYLL)
            .execute();
}

@BuildCommand(summary = "Generates Javadoc for the project")
@Override
public void javadoc() throws ExitStatusException, IOException, InterruptedException {
    new DokkaOperation()
            .fromProject(this)
            .failOnWarning(true)
            .loggingLevel(LoggingLevel.INFO)
            // Create build/javadoc
            .outputDir(new File(buildDirectory(), "javadoc"))
            .outputFormat(OutputFormat.JAVADOC)
            .execute();
}
./bld javadoc
./bld dokka-html
./bld dokka-gfm
./bld dokka-jekyll

Please check the Dokka Operation documentation for all available configuration options.

Template Project

There is also a Kotlin Template Project with support for Dokka and the Detekt extensions.