Skip to content

Generate Swift DocC documentation for your Kotlin Multiplatform frameworks

License

Notifications You must be signed in to change notification settings

rickclephas/kotlin-docc

Repository files navigation

Kotlin-DocC

Kotlin-DocC is a Gradle plugin that integrates the docc CLI into your Kotlin Multiplatform projects.

Generating your first .doccarchive is as easy as applying the plugin:

plugins {
    id("com.rickclephas.kmp.docc") version "0.1.0"
}

and running the doccConvert or doccPreview task for your target's framework.

Both the doccConvert and doccPreview tasks can be configured with the docC extension:

import com.rickclephas.kmp.docc.dsl.docC

group = "com.example"
version = "1.0"

kotlin {
    macosArm64 {
        binaries.framework {
            baseName = "MyFramework"
            
            docC {
                // Configure the doccConvert and doccPreview tasks
                common {
                    // Configure the fallback values for the documentation bundle's Info.plist properties
                    displayName.set("MyFramework")
                    bundleIdentifier.set("com.example.MyFramework")
                    bundleVersion.set("1.0")

                    // Use a custom Swift-DocC-Render template,
                    // by default the Kotlin-DocC-Render template is used.
                    // Setting this to `null` wil use the built-in Xcode template.
                    renderDir.set(null as Directory?)
                    
                    // Adds additional arguments to the docc command
                    additionalArgs.add("--warnings-as-errors")
                }
                
                // Configure the doccConvert task
                convert {
                    // Indicates if the `process-archive index` command should be run 
                    createIndex.set(false)
                }
                
                // Configure the doccPreview task
                preview {
                    // The port number to use for the preview web server
                    port.set(8080)
                }
            }
        }
    }
}

To further customize your documentation you can generate a .docc documentation bundle by adding files to src/commonMain/docc, or the docc folder of other source-sets.

Take a look at the official DocC documentation to learn more about formatting your documentation content and adding structure to your documentation pages.

About

Generate Swift DocC documentation for your Kotlin Multiplatform frameworks

Topics

Resources

License

Stars

Watchers

Forks

Languages