Dokka CLI
Dokka CLI (Dokka CLI)
어떤 이유로든 Gradle이나 Maven 빌드 도구를 사용할 수 없다면, Dokka에는 문서 생성을 위한 명령줄(CLI) 러너가 있어요.
비교하자면, Dokka용 Gradle 플러그인과 같거나 그 이상의 기능을 갖추고 있어요. 다만 자동 구성(autoconfiguration)이 없어서 설정이 상당히 까다로워요. 특히 multiplatform이나 멀티 모듈 환경에서는 더 그렇죠.
출처: Dokka CLI
본문
시작하기 (Get started)
CLI 러너는 Maven Central에 별도의 실행 가능한 아티팩트로 배포돼요.
Maven Central에서 찾거나 직접 다운로드할 수 있어요.
컴퓨터에 dokka-cli-2.2.0.jar 파일을 저장한 뒤, -help 옵션과 함께 실행하면 사용 가능한 모든 구성 옵션과 설명을 볼 수 있어요.
java -jar dokka-cli-2.2.0.jar -help
-sourceSet 같은 일부 중첩 옵션에서도 동작해요.
java -jar dokka-cli-2.2.0.jar -sourceSet -help
문서 생성하기 (Generate documentation)
사전 요구 사항 (Prerequisites)
의존성을 관리하는 빌드 도구가 없기 때문에, 의존성 .jar 파일을 직접 준비해야 해요.
아래는 어떤 출력 형식이든 필요한 의존성들이에요.
| Group | Artifact | Version | Link |
|---|---|---|---|
org.jetbrains.dokka |
dokka-base |
2.2.0 | download |
org.jetbrains.dokka |
analysis-kotlin-symbols |
2.2.0 | download |
아래는 HTML 출력 형식에 추가로 필요한 의존성들이에요.
| Group | Artifact | Version | Link |
|---|---|---|---|
org.jetbrains.kotlinx |
kotlinx-html-jvm |
0.8.0 | download |
org.freemarker |
freemarker |
2.3.31 | download |
명령줄 옵션으로 실행하기 (Run with command line options)
CLI 러너를 구성하려면 명령줄 옵션을 넘길 수 있어요.
최소한 다음 옵션들은 제공해야 해요.
-pluginsClasspath- 다운로드한 의존성들의 절대/상대 경로 목록. 세미콜론;으로 구분해요.-sourceSet- 문서를 생성할 코드 소스의 절대 경로.-outputDir- 문서 출력 디렉터리의 절대/상대 경로.
java -jar dokka-cli-2.2.0.jar \
-pluginsClasspath "./dokka-base-2.2.0.jar;./analysis-kotlin-symbols-2.2.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 구성으로 실행하기 (Run with JSON configuration)
CLI 러너를 JSON으로 구성할 수도 있어요. 이 경우 JSON 구성 파일의 절대/상대 경로를 첫 번째이자 유일한 인자로 제공해요. 나머지 모든 구성 옵션은 그 파일에서 파싱돼요.
java -jar dokka-cli-2.2.0.jar dokka-configuration.json
최소한 다음 JSON 구성 파일이 필요해요.
{
"outputDir": "./dokka/html",
"sourceSets": [
{
"sourceSetID": {
"scopeId": "moduleName",
"sourceSetName": "main"
},
"sourceRoots": [
"/home/myCoolProject/src/main/kotlin"
]
}
],
"pluginsClasspath": [
"./dokka-base-2.2.0.jar",
"./kotlinx-html-jvm-0.8.0.jar",
"./analysis-kotlin-symbols-2.2.0.jar",
"./freemarker-2.3.31.jar"
]
}
자세한 내용은 JSON 구성 옵션을 참고하세요.
다른 출력 형식 (Other output formats)
기본적으로 dokka-base 아티팩트에는 HTML 출력 형식만 들어 있어요.
그 외의 모든 출력 형식은 Dokka 플러그인으로 구현돼요. 이들을 사용하려면 플러그인 클래스패스에 추가하면 돼요.
예를 들어 실험적인 GFM 출력 형식으로 문서를 생성하고 싶다면, gfm-plugin의 JAR를 다운로드해서(다운로드) pluginsClasspath 구성 옵션에 넘기면 돼요.
명령줄 옵션으로:
java -jar dokka-cli-2.2.0.jar \
-pluginsClasspath "./dokka-base-2.2.0.jar;...;./gfm-plugin-2.2.0.jar" \
...
JSON 구성으로:
{
...
"pluginsClasspath": [
"./dokka-base-2.2.0.jar",
"...",
"./gfm-plugin-2.2.0.jar"
],
...
}
GFM 플러그인을 pluginsClasspath에 넘기면 CLI 러너가 GFM 출력 형식으로 문서를 생성해요.
자세한 내용은 GFM과 Javadoc 문서를 참고하세요.
명령줄 옵션 (Command line options)
가능한 모든 명령줄 옵션과 상세 설명을 보려면 다음을 실행해요.
java -jar dokka-cli-2.2.0.jar -help
간단한 요약은 다음과 같아요.
| 옵션 | 설명 |
|---|---|
-moduleName |
모듈의 표시 이름. 기본값: root |
-moduleVersion |
모듈 버전. 기본값: 비어 있음 |
-outputDir |
문서 출력 디렉터리. 기본값: ./dokka |
-sourceSet |
문서를 생성할 짧은 source set |
-pluginsConfiguration |
플러그인 구성 |
-pluginsClasspath |
플러그인과 의존성 JAR 목록 |
-offlineMode |
네트워크로 원격 파일/링크를 조회할지 여부 |
-failOnWarning |
경고가 있으면 빌드를 실패시킬지 여부 |
-delayTemplateSubstitution |
템플릿 치환을 지연시킬지 여부 |
-noSuppressObviousFunctions |
명백한 함수(kotlin.Any, java.lang.Object 등에서 상속된 함수)를 숨기지 않을지 여부 |
-includes |
포함할 Markdown 파일 목록 |
-suppressInheritedMembers |
상속된 멤버를 숨길지 여부 |
-globalPackageOptions |
전역 패키지 옵션. 형식: "matchingRegex,-deprecated,-privateApi,+warnUndocumented,+suppress;+visibility:PUBLIC;..." |
-globalLinks |
전역 링크. 형식: {url}^{packageListUrl}, 여러 개는 ^^로 구분 |
-globalSrcLink |
전역 소스 링크 |
-helpSourceSet |
-sourceSet 중첩 구성의 도움말을 보여줌 |
-loggingLevel |
로깅 수준: DEBUG, PROGRESS, INFO, WARN, ERROR |
-help, -h |
사용 정보 |
Source set 옵션 (Source set options)
중첩된 -sourceSet 구성의 명령줄 옵션 목록을 보려면 다음을 실행해요.
java -jar dokka-cli-2.2.0.jar -sourceSet -help
간단한 요약은 다음과 같아요.
| 옵션 | 설명 |
|---|---|
-sourceSetName |
source set의 이름. 기본값: main |
-displayName |
source set의 표시 이름. 기본값: sourceSetName |
-classpath |
분석과 인터랙티브 샘플용 클래스패스 |
-src |
분석할 소스코드 경로 |
-dependentSourceSets |
이 source set이 의존하는 source set. 기본값: moduleName/sourceSetName |
-samples |
샘플 함수가 들어 있는 디렉터리/파일 목록 |
-includes |
포함할 Markdown 파일 목록 |
-documentedVisibilities |
문서화할 가시성 수정자. 값: PUBLIC, PRIVATE, PROTECTED, INTERNAL, PACKAGE. 기본값: PUBLIC |
-reportUndocumented |
문서화되지 않은 선언에 대한 경고를 낼지 여부 |
-noSkipEmptyPackages |
빈 패키지를 건너뛰지 않을지 여부 |
-skipDeprecated |
@Deprecated 선언을 문서화할지 여부 |
-jdkVersion |
Java 타입용 외부 문서 링크 생성에 쓸 JDK 버전 |
-languageVersion |
분석 설정에 쓸 Kotlin 언어 버전 |
-apiVersion |
분석 설정에 쓸 Kotlin API 버전 |
-noStdlibLink |
Kotlin 표준 라이브러리로의 외부 링크를 생성하지 않을지 여부 |
-noJdkLink |
JDK Javadocs로의 외부 링크를 생성하지 않을지 여부 |
-suppressedFiles |
문서 생성 시 숨길 파일 |
-suppressAnnotatedWith |
특정 어노테이션으로 표시된 선언을 숨기기 위한 FQN 목록 |
-analysisPlatform |
코드 분석 설정에 쓸 플랫폼 |
-perPackageOptions |
패키지별 옵션. 형식: matchingRegexp,-deprecated,-privateApi,+warnUndocumented,+suppress;... |
-externalDocumentationLinks |
외부 문서 링크. 형식: {url}^{packageListUrl}, 여러 개는 ^^로 구분 |
-srcLink |
소스 디렉터리와 코드를 탐색하는 Web 서비스 간의 매핑. 세미콜론으로 구분된 여러 경로를 받음 |
JSON 구성 (JSON configuration)
아래는 각 구성 섹션에 대한 예시와 상세 설명이에요. 페이지 맨 아래에는 모든 구성 옵션을 적용한 예시도 있어요.
일반 구성 (General configuration)
{
"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.2.0.jar",
"./kotlinx-html-jvm-0.8.0.jar",
"./analysis-kotlin-symbols-2.2.0.jar",
"./freemarker-2.3.31.jar"
]
}
moduleName — 모듈을 가리키는 표시 이름이에요. 목차, 내비게이션, 로깅 등에 사용돼요.
기본값: root
moduleVersion — 모듈 버전이에요.
기본값: 비어 있음
outputDirectory — 출력 형식과 무관하게 문서가 생성되는 디렉터리예요.
기본값: ./dokka
failOnWarning — Dokka가 경고나 오류를 냈을 때 문서 생성을 실패시킬지 여부예요. 프로세스는 먼저 모든 오류와 경고가 출력될 때까지 기다려요. 이 설정은 reportUndocumented와 잘 어울려요.
기본값: false
suppressObviousFunctions — 명백한 함수를 숨길지 여부예요.
다음에 해당하면 함수가 명백한 것으로 간주돼요.
kotlin.Any,Kotlin.Enum,java.lang.Object또는java.lang.Enum에서 상속된 함수(예:equals,hashCode,toString).- 컴파일러가 만든 합성(synthetic) 함수로 문서가 없는 것(예:
dataClass.componentN또는dataClass.copy).
기본값: true
suppressInheritedMembers — 주어진 클래스에서 명시적으로 오버라이드되지 않은 상속된 멤버를 숨길지 여부예요.
참고: 이 옵션은 equals/hashCode/toString 같은 함수는 숨길 수 있지만, dataClass.componentN과 dataClass.copy 같은 합성 함수는 숨길 수 없어요. 그런 함수는 suppressObviousFunctions를 사용하세요.
기본값: false
offlineMode — 네트워크로 원격 파일/링크를 조회할지 여부예요.
여기에는 외부 문서 링크를 생성하는 데 쓰는 package-list도 포함돼요. 예를 들어 표준 라이브러리의 클래스를 클릭 가능하게 만들 수 있죠.
이 값을 true로 설정하면 특정 경우에 빌드 시간을 크게 단축할 수 있지만, 문서 품질과 사용자 경험은 나빠질 수 있어요. 예를 들어 표준 라이브러리를 포함해 의존성에서 온 클래스/멤버 링크를 조회하지 않게 되거든요.
참고: 가져온 파일을 로컬에 캐시해서 Dokka에 로컬 경로로 제공할 수 있어요. externalDocumentationLinks 섹션을 참고하세요.
기본값: false
includes — 모듈 및 패키지 문서가 들어 있는 Markdown 파일 목록이에요.
지정된 파일의 내용은 파싱되어 모듈 및 패키지 설명으로 문서에 포함돼요. 이 설정은 패키지 단위로 구성할 수 있어요.
sourceSets — Kotlin source set의 개별 및 추가 구성이에요.
가능한 옵션 목록은 source set 구성을 참고하세요.
sourceLinks — 모든 source set에 적용되는 source link의 전역 구성이에요.
가능한 옵션 목록은 source link 구성을 참고하세요.
perPackageOptions — source set에 관계없이 일치하는 패키지들의 전역 구성이에요.
가능한 옵션 목록은 패키지별 구성을 참고하세요.
externalDocumentationLinks — 사용되는 source set에 관계없이 외부 문서 링크의 전역 구성이에요.
가능한 옵션 목록은 외부 문서 링크 구성을 참고하세요.
pluginsClasspath — Dokka 플러그인과 그 의존성이 담긴 JAR 파일 목록이에요.
Source set 구성 (Source set configuration)
Kotlin source set을 구성하는 방법이에요.
{
"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.4.20.jar",
"libs/kotlin-stdlib-common-2.4.20.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" }
]
}
]
}
displayName — 이 source set을 가리키는 표시 이름이에요.
이름은 외부적으로(예: 문서 독자에게 보이는 source set 이름) 그리고 내부적으로(예: reportUndocumented의 로깅 메시지) 모두 사용돼요. 더 나은 대안이 없다면 플랫폼 이름을 사용할 수 있어요.
sourceSetID — source set의 기술적 ID예요.
documentedVisibilities — 문서화해야 하는 가시성 수정자 집합이에요.
protected/internal/private 선언을 문서화하고 싶거나, public 선언을 제외하고 내부 API만 문서화하고 싶을 때 사용해요. 패키지 단위로 구성할 수 있어요.
가능한 값:
PUBLICPRIVATEPROTECTEDINTERNALPACKAGE
기본값: PUBLIC
reportUndocumented — documentedVisibilities와 다른 필터를 적용한 뒤에도 보이는, 즉 KDoc이 없는 문서화되지 않은 선언에 대한 경고를 낼지 여부예요. 이 설정은 failOnWarning과 잘 어울려요. 패키지 단위로 구성할 수 있어요.
기본값: false
skipEmptyPackages — 각종 필터를 적용한 뒤에도 보이는 선언이 없는 패키지를 건너뛸지 여부예요.
예를 들어 skipDeprecated가 true로 설정되어 있고 패키지에 deprecated 선언만 있다면, 그 패키지는 비어 있는 것으로 간주돼요. CLI 러너의 기본값은 false예요.
skipDeprecated — @Deprecated로 어노테이션된 선언을 문서화할지 여부예요. 패키지 단위로 구성할 수 있어요.
기본값: false
jdkVersion — Java 타입용 외부 문서 링크를 생성할 때 쓸 JDK 버전이에요.
예를 들어 어떤 공개 선언 시그니처에서 java.util.UUID를 사용하고 이 옵션이 8로 설정되어 있다면, Dokka는 그 타입에 대해 JDK 8 Javadocs로의 외부 문서 링크를 생성해요.
languageVersion — 분석 및 @sample 환경을 설정하는 데 쓰는 Kotlin 언어 버전이에요.
apiVersion — 분석 및 @sample 환경을 설정하는 데 쓰는 Kotlin API 버전이에요.
noStdlibLink — Kotlin 표준 라이브러리의 API 참조 문서로 이어지는 외부 문서 링크를 생성할지 여부예요.
참고: noStdLibLink가 false로 설정되면 링크가 생성돼요.
기본값: false
noJdkLink — JDK의 Javadocs로 이어지는 외부 문서 링크를 생성할지 여부예요. JDK Javadocs의 버전은 jdkVersion 옵션으로 정해져요.
참고: noJdkLink가 false로 설정되면 링크가 생성돼요.
기본값: false
includes — 모듈 및 패키지 문서가 들어 있는 Markdown 파일 목록이에요. 지정된 파일의 내용은 파싱되어 모듈 및 패키지 설명으로 문서에 포함돼요.
analysisPlatform — 코드 분석 및 @sample 환경을 설정하는 데 쓸 플랫폼이에요.
가능한 값:
jvmcommonjsnative
sourceRoots — 분석하고 문서화할 소스코드 루트예요. 디렉터리와 개별 .kt/.java 파일을 입력으로 받아요.
classpath — 분석 및 인터랙티브 샘플용 클래스패스예요. 의존성에서 온 일부 타입이 자동으로 해석/포착되지 않을 때 유용해요. 이 옵션은 .jar와 .klib 파일을 모두 받아요.
samples — @sample KDoc 태그로 참조되는 샘플 함수가 들어 있는 디렉터리 또는 파일 목록이에요.
suppressedFiles — 문서 생성 시 숨길 파일들이에요.
suppressAnnotatedWith — 특정 어노테이션으로 표시된 선언을 숨기기 위한 어노테이션 FQN(완전한 이름) 목록이에요. 이 중 하나의 어노테이션으로 표시된 선언은 생성된 문서에서 제외돼요.
sourceLinks — 이 source set에만 적용되는 source link용 매개변수 집합이에요. 가능한 옵션 목록은 source link 구성을 참고하세요.
perPackageOptions — 이 source set 안에서 일치하는 패키지에 특화된 매개변수 집합이에요. 가능한 옵션 목록은 패키지별 구성을 참고하세요.
externalDocumentationLinks — 이 source set에만 적용되는 외부 문서 링크용 매개변수 집합이에요. 가능한 옵션 목록은 외부 문서 링크 구성을 참고하세요.
Source link 구성 (Source link configuration)
sourceLinks 구성 블록을 사용하면 각 시그니처에, 특정 줄 번호가 붙은 remoteUrl로 이어지는 source 링크를 추가할 수 있어요(줄 번호는 remoteLineSuffix를 설정해 구성할 수 있어요).
이 링크는 독자들이 각 선언의 소스코드를 찾는 데 도움을 줘요.
예시는 kotlinx.coroutines의 count()count() 함수 문서를 참고하세요.
source link를 모든 source set에 한꺼번에 구성하거나, 개별적으로 구성할 수 있어요.
{
"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-
기본값: 비어 있음(접미사 없음)
패키지별 구성 (Per-package configuration)
perPackageOptions 구성 블록을 사용하면 matchingRegex와 일치하는 특정 패키지에 대한 옵션을 설정할 수 있어요.
패키지 구성을 모든 source set에 한꺼번에 추가하거나, 개별적으로 추가할 수 있어요.
{
"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과 잘 어울려요. source set 수준에서 구성할 수 있어요.
기본값: false
documentedVisibilities — 문서화해야 하는 가시성 수정자 집합이에요. 이 패키지 안의 protected/internal/private 선언을 문서화하고 싶거나, public 선언을 제외하고 내부 API만 문서화하고 싶을 때 사용해요. source set 수준에서 구성할 수 있어요.
기본값: PUBLIC
외부 문서 링크 구성 (External documentation links configuration)
externalDocumentationLinks 블록을 사용하면 의존성의 외부 호스팅 문서로 이어지는 링크를 만들 수 있어요.
예를 들어 kotlinx.serialization에서 타입을 사용한다면, 기본적으로 그 타입들은 문서에서 클릭할 수 없어요. 마치 해석되지 않은 것처럼 보이죠. 그런데 kotlinx.serialization의 API 참조 문서는 Dokka로 만들어져 kotlinlang.org에 게시되기 때문에, 이에 대한 외부 문서 링크를 구성할 수 있어요. 그러면 Dokka가 그 라이브러리의 타입에 대한 링크를 생성해서, 링크가 성공적으로 해석되고 클릭 가능해져요.
외부 문서 링크를 모든 source set에 한꺼번에 구성하거나, 개별적으로 구성할 수 있어요.
{
"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가 자동으로 해석하도록 맡기는 대신 사용할 수 있는 대안이에요. Package list에는 문서와 프로젝트 자체에 대한 정보(예: 모듈 및 패키지 이름)가 들어 있어요. 네트워크 호출을 피하려면 로컬에 캐시된 파일일 수도 있어요.
전체 구성 (Complete configuration)
아래에서 모든 구성 옵션을 한꺼번에 적용한 예시를 볼 수 있어요.
{
"moduleName": "Dokka Example",
"moduleVersion": null,
"outputDir": "./build/dokka/html",
"failOnWarning": false,
"suppressObviousFunctions": true,
"suppressInheritedMembers": false,
"offlineMode": false,
"suppressAnnotatedWith": [
"com.example.SuppressMe"
],
"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.4.20.jar",
"libs/kotlin-stdlib-common-2.4.20.jar"
],
"samples": [
"samples/basic.kt"
],
"suppressedFiles": [
"src/main/kotlin/org/jetbrains/dokka/Suppressed.kt"
],
"suppressAnnotatedWith": [
"com.example.SuppressMe"
],
"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.2.0.jar",
"./kotlinx-html-jvm-0.8.0.jar",
"./analysis-kotlin-symbols-2.2.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"
]
}