Skip to content

コマンドラインインターフェース

何らかの理由でGradleMavenといったビルドツールを利用できない場合、Dokkaにはドキュメント生成用のコマンドライン (CLI) ランナーが用意されています。

比較すると、DokkaのGradleプラグインと同等か、それ以上の機能を持っています。しかし、特にマルチプラットフォームやマルチモジュールの環境では、自動設定がないためセットアップがかなり難しくなります。

はじめに

CLIランナーは、独立した実行可能なアーティファクトとしてMaven Centralに公開されています。

Maven Centralで探すか、直接ダウンロードできます。

dokka-cli-2.0.0.jarファイルをコンピューターに保存したら、-helpオプションを付けて実行すると、利用可能なすべての設定オプションとその説明を確認できます。

Bash
java -jar dokka-cli-2.0.0.jar -help

いくつかのネストされたオプション、例えば-sourceSetでも同様に動作します。

Bash
java -jar dokka-cli-2.0.0.jar -sourceSet -help

ドキュメントの生成

前提条件

依存関係を管理するビルドツールがないため、依存関係の.jarファイルを自分で用意する必要があります。

以下に、どの出力形式でも必要となる依存関係をリストします。

グループアーティファクトバージョンリンク
org.jetbrains.dokkadokka-base2.0.0download
org.jetbrains.dokkaanalysis-kotlin-descriptors2.0.0download

以下は、HTML出力形式で必要となる追加の依存関係です。

グループアーティファクトバージョンリンク
org.jetbrains.kotlinxkotlinx-html-jvm0.8.0download
org.freemarkerfreemarker2.3.31download

コマンドラインオプションでの実行

CLIランナーを設定するためにコマンドラインオプションを渡すことができます。

最低限、以下のオプションを指定する必要があります。

  • -pluginsClasspath - ダウンロードした依存関係への絶対/相対パスのリスト。セミコロン;で区切ります。
  • -sourceSet - ドキュメントを生成するためのコードソースへの絶対パス。
  • -outputDir - ドキュメントの出力ディレクトリへの絶対/相対パス。
Bash
java -jar dokka-cli-2.0.0.jar \
     -pluginsClasspath "./dokka-base-2.0.0.jar;./analysis-kotlin-descriptors-2.0.0.jar;./kotlinx-html-jvm-0.8.0.jar;./freemarker-2.3.31.jar" \
     -sourceSet "-src /home/myCoolProject/src/main/kotlin" \
     -outputDir "./dokka/html"

指定された例を実行すると、HTML出力形式でドキュメントが生成されます。

その他の設定については、コマンドラインオプションを参照してください。

JSON設定での実行

JSONでCLIランナーを設定することも可能です。この場合、JSON設定ファイルへの絶対/相対パスを最初の唯一の引数として指定する必要があります。他のすべての設定オプションは、そこからパースされます。

Bash
java -jar dokka-cli-2.0.0.jar dokka-configuration.json

最低限、以下のJSON設定ファイルが必要です。

json
{
  "outputDir": "./dokka/html",
  "sourceSets": [
    {
      "sourceSetID": {
        "scopeId": "moduleName",
        "sourceSetName": "main"
      },
      "sourceRoots": [
        "/home/myCoolProject/src/main/kotlin"
      ]
    }
  ],
  "pluginsClasspath": [
    "./dokka-base-2.0.0.jar",
    "./kotlinx-html-jvm-0.8.0.jar",
    "./analysis-kotlin-descriptors-2.0.0.jar",
    "./freemarker-2.3.31.jar"
  ]
}

詳細については、JSON設定オプションを参照してください。

その他の出力形式

デフォルトでは、dokka-baseアーティファクトにはHTML出力形式のみが含まれています。

他のすべての出力形式は、Dokkaプラグインとして実装されています。それらを使用するには、プラグインクラスパスに配置する必要があります。

例えば、実験的なGFM出力形式でドキュメントを生成したい場合、gfm-pluginのJAR(ダウンロード)をダウンロードし、pluginsClasspath設定オプションに渡す必要があります。

コマンドラインオプション経由:

Shell
java -jar dokka-cli-2.0.0.jar \
     -pluginsClasspath "./dokka-base-2.0.0.jar;...;./gfm-plugin-2.0.0.jar" \
     ...

JSON設定経由:

json
{
  ...
  "pluginsClasspath": [
    "./dokka-base-2.0.0.jar",
    "...",
    "./gfm-plugin-2.0.0.jar"
  ],
  ...
}

GFMプラグインがpluginsClasspathに渡されると、CLIランナーはGFM出力形式でドキュメントを生成します。

詳細については、MarkdownおよびJavadocのページを参照してください。

コマンドラインオプション

利用可能なすべてのコマンドラインオプションとその詳細な説明を確認するには、以下を実行します。

Bash
java -jar dokka-cli-2.0.0.jar -help

簡易要約:

オプション説明
moduleNameプロジェクト/モジュールの名前。
moduleVersionドキュメント化されるバージョン。
outputDir出力ディレクトリパス。デフォルトは./dokka
sourceSetDokkaソースセットの設定。ネストされた設定オプションを含みます。
pluginsConfigurationDokkaプラグインの設定。
pluginsClasspathDokkaプラグインとその依存関係を含むjarファイルのリスト。セミコロンで区切られた複数のパスを受け入れます。
offlineModeネットワーク経由でリモートファイル/リンクを解決するかどうか。
failOnWarningDokkaが警告またはエラーを出力した場合にドキュメント生成を失敗させるかどうか。
delayTemplateSubstitution一部の要素の置換を遅延させるかどうか。マルチモジュールプロジェクトのインクリメンタルビルドで使用されます。
noSuppressObviousFunctionskotlin.Anyjava.lang.Objectから継承された明らかな関数を抑制するかどうか。
includesモジュールとパッケージのドキュメントを含むMarkdownファイル。セミコロンで区切られた複数の値を受け入れます。
suppressInheritedMembers特定のクラスで明示的にオーバーライドされていない継承メンバーを抑制するかどうか。
globalPackageOptionsmatchingRegex,-deprecated,-privateApi,+warnUndocumented,+suppress;+visibility:PUBLIC;...の形式のパッケージ設定オプションのグローバルリスト。セミコロンで区切られた複数の値を受け入れます。
globalLinks{url}^{packageListUrl}の形式のグローバル外部ドキュメントリンク。^^で区切られた複数の値を受け入れます。
globalSrcLinkソースディレクトリとコードをブラウズするためのWebサービス間のグローバルマッピング。セミコロンで区切られた複数のパスを受け入れます。
helpSourceSetネストされた-sourceSet設定のヘルプを表示します。
loggingLevelロギングレベル。可能な値: DEBUG, PROGRESS, INFO, WARN, ERROR
help, h使用方法に関する情報。

ソースセットオプション

ネストされた-sourceSet設定のコマンドラインオプションのリストを確認するには、以下を実行します。

Bash
java -jar dokka-cli-2.0.0.jar -sourceSet -help

簡易要約:

オプション説明
sourceSetNameソースセットの名前。
displayNameソースセットの表示名。内部と外部の両方で使用されます。
classpath解析とインタラクティブなサンプル用のクラスパス。セミコロンで区切られた複数のパスを受け入れます。
src解析およびドキュメント化されるソースコードのルート。セミコロンで区切られた複数のパスを受け入れます。
dependentSourceSetsmoduleName/sourceSetName形式の依存ソースセットの名前。セミコロンで区切られた複数の値を受け入れます。
samplesサンプル関数を含むディレクトリまたはファイルのリスト。セミコロンで区切られた複数のパスを受け入れます。
includesモジュールとパッケージのドキュメントを含むMarkdownファイル。セミコロンで区切られた複数のパスを受け入れます。
documentedVisibilitiesドキュメント化される可視性。セミコロンで区切られた複数の値を受け入れます。可能な値: PUBLICPRIVATEPROTECTEDINTERNALPACKAGE
reportUndocumentedドキュメント化されていない宣言を報告するかどうか。
noSkipEmptyPackages空のパッケージのページを作成するかどうか。
skipDeprecated非推奨の宣言をスキップするかどうか。
jdkVersionJDK Javadocへのリンクに使用するJDKのバージョン。
languageVersion解析とサンプル設定に使用される言語バージョン。
apiVersion解析とサンプル設定に使用されるKotlin APIバージョン。
noStdlibLinkKotlin標準ライブラリへのリンクを生成するかどうか。
noJdkLinkJDK Javadocへのリンクを生成するかどうか。
suppressedFiles抑制されるファイルのパス。セミコロンで区切られた複数のパスを受け入れます。
analysisPlatform解析設定に使用されるプラットフォーム。
perPackageOptionsmatchingRegexp,-deprecated,-privateApi,+warnUndocumented,+suppress;...の形式のパッケージソースセット設定のリスト。セミコロンで区切られた複数の値を受け入れます。
externalDocumentationLinks{url}^{packageListUrl}の形式の外部ドキュメントリンク。^^で区切られた複数の値を受け入れます。
srcLinkソースディレクトリとコードをブラウズするためのWebサービス間のマッピング。セミコロンで区切られた複数のパスを受け入れます。

JSON設定

以下に、各設定セクションの例と詳細な説明を示します。ページ下部には、すべての設定オプションが適用された例も記載されています。

一般設定

json
{
  "moduleName": "Dokka Example",
  "moduleVersion": null,
  "outputDir": "./build/dokka/html",
  "failOnWarning": false,
  "suppressObviousFunctions": true,
  "suppressInheritedMembers": false,
  "offlineMode": false,
  "includes": [
    "module.md"
  ],
  "sourceLinks":  [
    { "_comment": "オプションは別のセクションで説明されています" }
  ],
  "perPackageOptions": [
    { "_comment": "オプションは別のセクションで説明されています" }
  ],
  "externalDocumentationLinks":  [
    { "_comment": "オプションは別のセクションで説明されています" }
  ],
  "sourceSets": [
    { "_comment": "オプションは別のセクションで説明されています" }
  ],
  "pluginsClasspath": [
    "./dokka-base-2.0.0.jar",
    "./kotlinx-html-jvm-0.8.0.jar",
    "./analysis-kotlin-descriptors-2.0.0.jar",
    "./freemarker-2.3.31.jar"
  ]
}
moduleName

モジュールを参照するために使用される表示名。目次、ナビゲーション、ロギングなどで使用されます。

デフォルト: root

moduleVersion

モジュールのバージョン。

デフォルト: 空

outputDirectory

出力形式に関わらず、ドキュメントが生成されるディレクトリ。

デフォルト: ./dokka

failOnWarning

Dokkaが警告またはエラーを出力した場合に、ドキュメント生成を失敗させるかどうか。 プロセスは、まずすべてのエラーと警告が出力されるまで待機します。

この設定はreportUndocumentedと連携してうまく機能します。

デフォルト: false

suppressObviousFunctions

明らかな関数を抑制するかどうか。

関数は、以下の場合に明らかな関数とみなされます:
  • kotlin.AnyKotlin.Enumjava.lang.Object、または java.lang.Enumから継承されたもの。例: equalshashCodetoString
  • 合成(コンパイラによって生成された)もので、ドキュメントがないもの。例: dataClass.componentNdataClass.copy

デフォルト: true

suppressInheritedMembers

特定のクラスで明示的にオーバーライドされていない継承メンバーを抑制するかどうか。

注: これはequals / hashCode / toStringなどの関数を抑制できますが、 dataClass.componentNdataClass.copyのような合成関数を抑制することはできません。 そのためにはsuppressObviousFunctionsを使用してください。

デフォルト: false

offlineMode

ネットワーク経由でリモートファイル/リンクを解決するかどうか。

これには、外部ドキュメントリンクの生成に使用されるパッケージリストが含まれます。 例えば、標準ライブラリのクラスをクリック可能にするためなどです。

これをtrueに設定すると、特定の場合にビルド時間を大幅に短縮できますが、 ドキュメントの品質やユーザーエクスペリエンスを悪化させる可能性もあります。例えば、 標準ライブラリを含む依存関係からのクラス/メンバーリンクが解決されなくなるなどです。

注: 取得したファイルをローカルにキャッシュし、Dokkaにローカルパスとして提供することができます。 externalDocumentationLinksセクションを参照してください。

デフォルト: false

includes

[モジュールとパッケージのドキュメント](dokka-module-and-package-docs.md)を含む Markdownファイルのリスト。

指定されたファイルの内容はパースされ、モジュールとパッケージの説明としてドキュメントに埋め込まれます。

これはパッケージごとに設定できます。

sourceSets

Kotlinの[ソースセット](https://kotlinlang.org/docs/multiplatform-discover-project.html#source-sets)の 個別および追加設定。

利用可能なオプションのリストについては、[ソースセット設定](#source-set-configuration)を参照してください。

sourceLinks

すべてのソースセットに適用されるソースリンクのグローバル設定。

利用可能なオプションのリストについては、[ソースリンク設定](#source-link-configuration)を参照してください。

perPackageOptions

ソースセットに関わらず、一致するパッケージのグローバル設定。

利用可能なオプションのリストについては、[パッケージごとの設定](#per-package-configuration)を参照してください。

externalDocumentationLinks

使用されているソースセットに関わらず、外部ドキュメントリンクのグローバル設定。

利用可能なオプションのリストについては、[外部ドキュメントリンク設定](#external-documentation-links-configuration)を参照してください。

pluginsClasspath

Dokkaプラグインとその依存関係を含むJARファイルのリスト。

ソースセット設定

Kotlinのソースセットの設定方法:

json
{
  "sourceSets": [
    {
      "displayName": "jvm",
      "sourceSetID": {
        "scopeId": "moduleName",
        "sourceSetName": "main"
      },
      "dependentSourceSets": [
        {
          "scopeId": "dependentSourceSetScopeId",
          "sourceSetName": "dependentSourceSetName"
        }
      ],
      "documentedVisibilities": ["PUBLIC", "PRIVATE", "PROTECTED", "INTERNAL", "PACKAGE"],
      "reportUndocumented": false,
      "skipEmptyPackages": true,
      "skipDeprecated": false,
      "jdkVersion": 8,
      "languageVersion": "1.7",
      "apiVersion": "1.7",
      "noStdlibLink": false,
      "noJdkLink": false,
      "includes": [
        "module.md"
      ],
      "analysisPlatform": "jvm",
      "sourceRoots": [
        "/home/ignat/IdeaProjects/dokka-debug-mvn/src/main/kotlin"
      ],
      "classpath": [
        "libs/kotlin-stdlib-2.1.21.jar",
        "libs/kotlin-stdlib-common-2.1.21.jar"
      ],
      "samples": [
        "samples/basic.kt"
      ],
      "suppressedFiles": [
        "src/main/kotlin/org/jetbrains/dokka/Suppressed.kt"
      ],
      "sourceLinks":  [
        { "_comment": "オプションは別のセクションで説明されています" }
      ],
      "perPackageOptions": [
        { "_comment": "オプションは別のセクションで説明されています" }
      ],
      "externalDocumentationLinks":  [
        { "_comment": "オプションは別のセクションで説明されています" }
      ]
    }
  ]
}
displayName

このソースセットを参照するために使用される表示名。

この名前は、外部(例えば、ドキュメント読者にソースセット名が表示される)と 内部(例えば、reportUndocumentedのロギングメッセージ)の両方で使用されます。

より良い代替案がない場合は、プラットフォーム名を使用できます。

sourceSetID

ソースセットの技術的なID

documentedVisibilities

ドキュメント化すべき可視性修飾子のセット。

protected/internal/private宣言をドキュメント化したい場合、 またはpublic宣言を除外し、内部APIのみをドキュメント化したい場合に使用できます。

これはパッケージごとに設定できます。

可能な値:

  • PUBLIC
  • PRIVATE
  • PROTECTED
  • INTERNAL
  • PACKAGE

デフォルト: PUBLIC

reportUndocumented

documentedVisibilitiesやその他のフィルターでフィルタリングされた後、 KDocを持たない可視の未ドキュメント化宣言について警告を発するかどうか。

この設定はfailOnWarningと連携してうまく機能します。

これはパッケージごとに設定できます。

デフォルト: false

skipEmptyPackages

様々なフィルターが適用された後、可視の宣言を含まないパッケージをスキップするかどうか。

例えば、skipDeprecatedtrueに設定されており、パッケージが非推奨の宣言のみを含む場合、 それは空とみなされます。

CLIランナーのデフォルトはfalseです。

skipDeprecated

@Deprecatedでアノテーションされた宣言をドキュメント化するかどうか。

これはパッケージごとに設定できます。

デフォルト: false

jdkVersion

Java型に対する外部ドキュメントリンクを生成する際に使用するJDKバージョン。

例えば、ある公開宣言のシグネチャでjava.util.UUIDを使用し、 このオプションが8に設定されている場合、Dokkaはそれに対する JDK 8 Javadocへの外部ドキュメントリンクを生成します。

languageVersion

解析および[@sample](https://kotlinlang.org/docs/kotlin-doc.html#sample-identifier)環境のセットアップに使用される Kotlin言語バージョン

apiVersion

解析および[@sample](https://kotlinlang.org/docs/kotlin-doc.html#sample-identifier)環境のセットアップに使用される Kotlin APIバージョン

noStdlibLink

Kotlinの標準ライブラリのAPIリファレンスドキュメントに繋がる外部ドキュメントリンクを生成するかどうか。

注: noStdLibLinkfalseに設定されている場合、リンクは**生成されます**。

デフォルト: false

noJdkLink

JDKのJavadocへの外部ドキュメントリンクを生成するかどうか。

JDK JavadocのバージョンはjdkVersionオプションによって決定されます。

注: noJdkLinkfalseに設定されている場合、リンクは**生成されます**。

デフォルト: false

includes

[モジュールとパッケージのドキュメント](dokka-module-and-package-docs.md)を含む Markdownファイルのリスト。

指定されたファイルの内容はパースされ、モジュールとパッケージの説明としてドキュメントに埋め込まれます。

analysisPlatform

コード解析および[@sample](https://kotlinlang.org/docs/kotlin-doc.html#sample-identifier)環境のセットアップに使用されるプラットフォーム。

可能な値:

  • jvm
  • common
  • js
  • native
sourceRoots

解析およびドキュメント化されるソースコードのルート。 ディレクトリおよび個々の.kt / .javaファイルが受け入れられます。

classpath

解析とインタラクティブなサンプル用のクラスパス。

これは、依存関係から来る一部の型が自動的に解決/認識されない場合に役立ちます。

このオプションは.jarファイルと.klibファイルの両方を受け入れます。

samples

[@sample](https://kotlinlang.org/docs/kotlin-doc.html#sample-identifier) KDocタグ経由で参照されるサンプル関数を含むディレクトリまたはファイルのリスト。

suppressedFiles

ドキュメント生成時に抑制されるファイル。

sourceLinks

このソースセットにのみ適用されるソースリンクのパラメータセット。

利用可能なオプションのリストについては、[ソースリンク設定](#source-link-configuration)を参照してください。

perPackageOptions

このソースセット内の一致するパッケージに特有のパラメータセット。

利用可能なオプションのリストについては、[パッケージごとの設定](#per-package-configuration)を参照してください。

externalDocumentationLinks

このソースセットにのみ適用される外部ドキュメントリンクのパラメータセット。

利用可能なオプションのリストについては、[外部ドキュメントリンク設定](#external-documentation-links-configuration)を参照してください。

ソースリンク設定

sourceLinks設定ブロックを使用すると、各シグネチャに特定の行番号を持つremoteUrlへのsourceリンクを追加できます(行番号はremoteLineSuffixを設定することで構成可能です)。

これにより、読者は各宣言のソースコードを見つけやすくなります。

例として、kotlinx.coroutinescount()関数のドキュメントを参照してください。

ソースリンクは、すべてのソースセットに対して一度にまとめて設定することも、個別に設定することもできます。

json
{
  "sourceLinks": [
    {
      "localDirectory": "src/main/kotlin",
      "remoteUrl": "https://github.com/Kotlin/dokka/tree/master/src/main/kotlin",
      "remoteLineSuffix": "#L"
    }
  ]
}
localDirectory

ローカルソースディレクトリへのパス。

remoteUrl

ドキュメント読者がアクセスできるソースコードホスティングサービス(GitHub、GitLab、Bitbucketなど)のURL。 このURLは、宣言のソースコードリンクを生成するために使用されます。

remoteLineSuffix

ソースコードの行番号をURLに付加するために使用されるサフィックス。これにより、読者はファイルだけでなく、 宣言の特定の行番号にもナビゲートしやすくなります。

数値自体は指定されたサフィックスに付加されます。例えば、 このオプションが#Lに設定され、行番号が10の場合、結果のURLサフィックスは #L10になります。

人気のあるサービスで使用されるサフィックス:

  • GitHub: #L
  • GitLab: #L
  • Bitbucket: #lines-

デフォルト: 空(サフィックスなし)

パッケージごとの設定

perPackageOptions設定ブロックを使用すると、matchingRegexに一致する特定のパッケージに対していくつかのオプションを設定できます。

パッケージ設定は、すべてのソースセットに対して一度にまとめて追加することも、個別に追加することもできます。

json
{
  "perPackageOptions": [
    {
      "matchingRegex": ".*internal.*",
      "suppress": false,
      "skipDeprecated": false,
      "reportUndocumented": false,
      "documentedVisibilities": ["PUBLIC", "PRIVATE", "PROTECTED", "INTERNAL", "PACKAGE"]
    }
  ]
}
matchingRegex

パッケージに一致するために使用される正規表現。

suppress

ドキュメント生成時にこのパッケージをスキップするかどうか。

デフォルト: false

skipDeprecated

@Deprecatedでアノテーションされた宣言をドキュメント化するかどうか。

これはプロジェクト/モジュールレベルで設定できます。

デフォルト: false

reportUndocumented

documentedVisibilitiesやその他のフィルターでフィルタリングされた後、 KDocを持たない可視の未ドキュメント化宣言について警告を発するかどうか。

この設定はfailOnWarningと連携してうまく機能します。

これはソースセットレベルで設定できます。

デフォルト: false

documentedVisibilities

ドキュメント化すべき可視性修飾子のセット。

このパッケージ内のprotected/internal/private宣言をドキュメント化したい場合、 またはpublic宣言を除外し、内部APIのみをドキュメント化したい場合に使用できます。

ソースセットレベルで設定できます。

デフォルト: PUBLIC

外部ドキュメントリンク設定

externalDocumentationLinksブロックを使用すると、依存関係の外部ホスト型ドキュメントに繋がるリンクを作成できます。

例えば、kotlinx.serializationの型を使用している場合、デフォルトではドキュメント内でクリックできない、まるで未解決であるかのように見えます。しかし、kotlinx.serializationのAPIリファレンスドキュメントはDokkaによって構築され、kotlinlang.orgで公開されているため、それに対する外部ドキュメントリンクを設定できます。これにより、Dokkaはライブラリからの型に対するリンクを生成し、それらを正常に解決してクリック可能にすることができます。

外部ドキュメントリンクは、すべてのソースセットに対して一度にまとめて設定することも、個別に設定することもできます。

json
{
  "externalDocumentationLinks": [
    {
      "url": "https://kotlinlang.org/api/kotlinx.serialization/",
      "packageListUrl": "https://kotlinlang.org/api/kotlinx.serialization/package-list"
    }
  ]
}
url

リンク先のドキュメントのルートURL。末尾のスラッシュを**含める必要があります**。

Dokkaは、指定されたURLのpackage-listを自動的に見つけ出し、 宣言をリンクするために最善を尽くします。

自動解決に失敗した場合、または代わりにローカルキャッシュファイルを使用したい場合は、 packageListUrlオプションの設定を検討してください。

packageListUrl

package-listの正確な場所。これはDokkaが自動的に解決することに頼る代替手段です。

パッケージリストには、ドキュメントとプロジェクト自体に関する情報(モジュール名、パッケージ名など)が含まれています。

これはネットワーク呼び出しを避けるためにローカルキャッシュファイルにすることもできます。

完全な設定

以下に、すべての設定オプションが同時に適用された例を示します。

json
{
  "moduleName": "Dokka Example",
  "moduleVersion": null,
  "outputDir": "./build/dokka/html",
  "failOnWarning": false,
  "suppressObviousFunctions": true,
  "suppressInheritedMembers": false,
  "offlineMode": false,
  "sourceLinks": [
    {
      "localDirectory": "src/main/kotlin",
      "remoteUrl": "https://github.com/Kotlin/dokka/tree/master/src/main/kotlin",
      "remoteLineSuffix": "#L"
    }
  ],
  "externalDocumentationLinks": [
    {
      "url": "https://docs.oracle.com/javase/8/docs/api/",
      "packageListUrl": "https://docs.oracle.com/javase/8/docs/api/package-list"
    },
    {
      "url": "https://kotlinlang.org/api/core/kotlin-stdlib/",
      "packageListUrl": "https://kotlinlang.org/api/core/kotlin-stdlib/package-list"
    }
  ],
  "perPackageOptions": [
    {
      "matchingRegex": ".*internal.*",
      "suppress": false,
      "reportUndocumented": false,
      "skipDeprecated": false,
      "documentedVisibilities": ["PUBLIC", "PRIVATE", "PROTECTED", "INTERNAL", "PACKAGE"]
    }
  ],
  "sourceSets": [
    {
      "displayName": "jvm",
      "sourceSetID": {
        "scopeId": "moduleName",
        "sourceSetName": "main"
      },
      "dependentSourceSets": [
        {
          "scopeId": "dependentSourceSetScopeId",
          "sourceSetName": "dependentSourceSetName"
        }
      ],
      "documentedVisibilities": ["PUBLIC", "PRIVATE", "PROTECTED", "INTERNAL", "PACKAGE"],
      "reportUndocumented": false,
      "skipEmptyPackages": true,
      "skipDeprecated": false,
      "jdkVersion": 8,
      "languageVersion": "1.7",
      "apiVersion": "1.7",
      "noStdlibLink": false,
      "noJdkLink": false,
      "includes": [
        "module.md"
      ],
      "analysisPlatform": "jvm",
      "sourceRoots": [
        "/home/ignat/IdeaProjects/dokka-debug-mvn/src/main/kotlin"
      ],
      "classpath": [
        "libs/kotlin-stdlib-2.1.21.jar",
        "libs/kotlin-stdlib-common-2.1.21.jar"
      ],
      "samples": [
        "samples/basic.kt"
      ],
      "suppressedFiles": [
        "src/main/kotlin/org/jetbrains/dokka/Suppressed.kt"
      ],
      "sourceLinks": [
        {
          "localDirectory": "src/main/kotlin",
          "remoteUrl": "https://github.com/Kotlin/dokka/tree/master/src/main/kotlin",
          "remoteLineSuffix": "#L"
        }
      ],
      "externalDocumentationLinks": [
        {
          "url": "https://docs.oracle.com/javase/8/docs/api/",
          "packageListUrl": "https://docs.oracle.com/javase/8/docs/api/package-list"
        },
        {
          "url": "https://kotlinlang.org/api/core/kotlin-stdlib/",
          "packageListUrl": "https://kotlinlang.org/api/core/kotlin-stdlib/package-list"
        }
      ],
      "perPackageOptions": [
        {
          "matchingRegex": ".*internal.*",
          "suppress": false,
          "reportUndocumented": false,
          "skipDeprecated": false,
          "documentedVisibilities": ["PUBLIC", "PRIVATE", "PROTECTED", "INTERNAL", "PACKAGE"]
        }
      ]
    }
  ],
  "pluginsClasspath": [
    "./dokka-base-2.0.0.jar",
    "./kotlinx-html-jvm-0.8.0.jar",
    "./analysis-kotlin-descriptors-2.0.0.jar",
    "./freemarker-2.3.31.jar"
  ],
  "pluginsConfiguration": [
    {
      "fqPluginName": "org.jetbrains.dokka.base.DokkaBase",
      "serializationFormat": "JSON",
      "values": "{\"separateInheritedMembers\":false,\"footerMessage\":\"© 2021 pretty good Copyright\"}"
    }
  ],
  "includes": [
    "module.md"
  ]
}