bld Extension to Generate API Documentation with Dokka for Kotlin https://github.com/rife2/bld-dokka
Find a file
Erik C. Thauvin 6a6d6ce62a
Some checks failed
bld-ci / build-bld-project (17, 1.19.24) (push) Has been cancelled
bld-ci / build-bld-project (17, 2.0.0) (push) Has been cancelled
bld-ci / build-bld-project (21, 1.19.24) (push) Has been cancelled
bld-ci / build-bld-project (21, 2.0.0) (push) Has been cancelled
bld-ci / build-bld-project (22, 1.19.24) (push) Has been cancelled
bld-ci / build-bld-project (22, 2.0.0) (push) Has been cancelled
javadocs-pages / deploy (push) Has been cancelled
Ensured exit status is set on failure
2024-07-22 10:23:19 -07:00
.github/workflows Bumped bld to version 2.0.0-SNAPSHOT 2024-07-22 09:58:10 -07:00
.idea Bumped bld to version 2.0.0-SNAPSHOT 2024-07-22 09:58:10 -07:00
.vscode Bumped bld to version 2.0.0-SNAPSHOT 2024-07-22 09:58:10 -07:00
config Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
examples Ensured exit status is set on failure 2024-07-22 10:23:19 -07:00
lib/bld Bumped bld to version 2.0.0-SNAPSHOT 2024-07-22 09:58:10 -07:00
scripts Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00
src Ensured exit status is set on failure 2024-07-22 10:23:19 -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 Initial commit (split from bld-kotlin) 2024-06-15 16:36:35 -07:00

bld Extension to Generate API Documentation with Dokka for Kotlin

License Java bld Release Snapshot GitHub CI

To install, please refer to the extensions and support 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.