Skip to content

CLI

何らかの理由で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.0ダウンロード
org.jetbrains.dokkaanalysis-kotlin-descriptors2.0.0ダウンロード

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

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

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

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設定で実行する

CLIランナーをJSONで設定することも可能です。この場合、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特定のクラスで明示的にオーバーライドされていない継承されたメンバーを抑制するかどうか。
globalPackageOptionsパッケージ設定オプションのグローバルリスト。形式は"matchingRegex,-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解析およびドキュメント化されるソースコードのルート。セミコロンで区切られた複数のパスを受け入れます。
dependentSourceSets依存するソースセットの名前。形式はmoduleName/sourceSetNameです。セミコロンで区切られた複数の値を受け入れます。
samplesサンプル関数を含むディレクトリまたはファイルのリスト。セミコロンで区切られた複数のパスを受け入れます。
includesモジュールとパッケージのドキュメントを含むMarkdownファイル。セミコロンで区切られた複数のパスを受け入れます。
documentedVisibilitiesドキュメント化される可視性。セミコロンで区切られた複数の値を受け入れます。取りうる値はPUBLICPRIVATEPROTECTEDINTERNALPACKAGEです。
reportUndocumentedドキュメント化されていない宣言を報告するかどうか。
noSkipEmptyPackages空のパッケージのページを作成するかどうか。
skipDeprecated非推奨の宣言をスキップするかどうか。
jdkVersionJDK Javadocへのリンクに使用するJDKのバージョン。
languageVersion解析およびサンプルの設定に使用される言語バージョン。
apiVersion解析およびサンプルの設定に使用されるKotlin APIバージョン。
noStdlibLinkKotlin標準ライブラリへのリンクを生成するかどうか。
noJdkLinkJDK Javadocへのリンクを生成するかどうか。
suppressedFiles抑制されるファイルのパス。セミコロンで区切られた複数のパスを受け入れます。
analysisPlatform解析の設定に使用されるプラットフォーム。
perPackageOptionsパッケージソースセット設定のリスト。形式はmatchingRegexp,-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": "Options are described in a separate section" }
  ],
  "perPackageOptions": [
    { "_comment": "Options are described in a separate section" }
  ],
  "externalDocumentationLinks":  [
    { "_comment": "Options are described in a separate section" }
  ],
  "sourceSets": [
    { "_comment": "Options are described in a separate section" }
  ],
  "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"
  ]
}
モジュール名

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

デフォルト: root

モジュールバージョン

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

デフォルト: 空

出力ディレクトリ

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

デフォルト: ./dokka

警告時に失敗

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

この設定はreportUndocumentedと組み合わせてうまく機能します。

デフォルト: false

明白な関数を抑制

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

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

デフォルト: true

継承されたメンバーを抑制

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

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

デフォルト: false

オフラインモード

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

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

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

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

デフォルト: false

インクルード

モジュールおよびパッケージのドキュメントを 含むMarkdownファイルのリスト。

指定されたファイルのコンテンツは解析され、モジュールおよびパッケージの説明としてドキュメントに埋め込まれます。

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

ソースセット

Kotlinのソースセットの 個別の追加設定。

利用可能なオプションのリストについては、ソースセット設定を参照してください。

ソースリンク

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

利用可能なオプションのリストについては、ソースリンク設定を参照してください。

パッケージごとのオプション

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

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

外部ドキュメントリンク

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

利用可能なオプションのリストについては、外部ドキュメントリンク設定を参照してください。

プラグインクラスパス

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.2.10.jar",
        "libs/kotlin-stdlib-common-2.2.10.jar"
      ],
      "samples": [
        "samples/basic.kt"
      ],
      "suppressedFiles": [
        "src/main/kotlin/org/jetbrains/dokka/Suppressed.kt"
      ],
      "sourceLinks":  [
        { "_comment": "Options are described in a separate section" }
      ],
      "perPackageOptions": [
        { "_comment": "Options are described in a separate section" }
      ],
      "externalDocumentationLinks":  [
        { "_comment": "Options are described in a separate section" }
      ]
    }
  ]
}
表示名

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

この名前は、外部(例えば、ドキュメント閲覧者からソースセット名が見える)および内部(例えば、reportUndocumentedのログメッセージ用)の両方で使用されます。

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

ソースセットID

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

ドキュメント化される可視性

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

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

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

取りうる値:

  • PUBLIC
  • PRIVATE
  • PROTECTED
  • INTERNAL
  • PACKAGE

デフォルト: PUBLIC

ドキュメント化されていない宣言の報告

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

この設定はfailOnWarningと組み合わせてうまく機能します。

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

デフォルト: false

空のパッケージをスキップ

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

例えば、skipDeprecatedtrueに設定され、パッケージに非推奨の宣言のみが含まれている場合、 そのパッケージは空であると見なされます。

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

非推奨をスキップ

@Deprecatedで注釈された宣言をドキュメント化するかどうか。

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

デフォルト: false

JDKバージョン

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

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

言語バージョン

解析と@sample環境の 設定に使用されるKotlin言語バージョン

APIバージョン

解析と@sample環境の 設定に使用されるKotlin APIバージョン

標準ライブラリリンクなし

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

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

デフォルト: false

JDKリンクなし

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

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

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

デフォルト: false

インクルード

モジュールおよびパッケージのドキュメントを 含むMarkdownファイルのリスト。

指定されたファイルのコンテンツは解析され、モジュールおよびパッケージの説明としてドキュメントに埋め込まれます。

解析プラットフォーム

コード解析と@sample環境の 設定に使用されるプラットフォーム。

取りうる値:

  • jvm
  • common
  • js
  • native
ソースルート

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

クラスパス

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

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

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

サンプル

@sample KDocタグを介して参照される サンプル関数を含むディレクトリまたはファイルのリスト。

抑制されるファイル

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

ソースリンク

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

利用可能なオプションのリストについては、ソースリンク設定を参照してください。

パッケージごとのオプション

このソースセット内の、一致したパッケージに固有のパラメータセット。

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

外部ドキュメントリンク

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

利用可能なオプションのリストについては、外部ドキュメントリンク設定を参照してください。

ソースリンク設定

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"
    }
  ]
}
ローカルディレクトリ

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

リモートURL

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

リモート行サフィックス

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"]
    }
  ]
}
マッチング正規表現

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

抑制

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

デフォルト: false

非推奨をスキップ

@Deprecatedで注釈された宣言をドキュメント化するかどうか。

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

デフォルト: false

ドキュメント化されていない宣言の報告

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

この設定はfailOnWarningと組み合わせてうまく機能します。

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

デフォルト: false

ドキュメント化される可視性

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

これは、このパッケージ内の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オプションの設定を検討してください。

パッケージリストURL

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.2.10.jar",
        "libs/kotlin-stdlib-common-2.2.10.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"
  ]
}