Dokka Javadoc

Dokka Javadoc (Javadoc)

Kotlin 프로젝트의 문서를 Java처럼 보이게 만들고 싶을 때가 있어요. Dokka의 Javadoc 출력 형식이 바로 그런 경우에 쓰는 것이에요. 어떤 특징이 있고, 어떻게 생성하는지 살펴볼게요.

출처: Javadoc

본문

이 가이드는 Dokka Gradle 플러그인(DGP) v2 모드에 해당해요. DGP v1 모드는 더 이상 지원되지 않으니, v1에서 v2로 올리려면 Migration guide를 따라가면 돼요.

Dokka의 Javadoc 출력 형식은 Java의 Javadoc HTML 형식과 비슷하게 생겼어요.

Javadoc 도구가 만든 HTML 페이지를 시각적으로 흉내 내려고 하지만, 직접 그 도구의 구현이거나 정확한 복사본은 아니에요.

모든 Kotlin 코드와 시그니처는 Java의 관점에서 본 모습으로 렌더링돼요. 이건 우리의 Kotlin as Java Dokka 플러그인 덕분인데, 이 형식에서는 기본으로 번들되어 적용돼요.

Javadoc 출력 형식은 Dokka 플러그인으로 구현되어 있고 Dokka 팀이 유지 관리해요. 오픈소스라서 소스 코드는 GitHub에서 볼 수 있어요.

Javadoc 문서 생성하기

Dokka는 멀티 프로젝트 빌드나 Kotlin Multiplatform 프로젝트에서는 Javadoc 형식을 지원하지 않아요.

Gradle용 Dokka 플러그인에는 Javadoc 출력 형식이 포함되어 있어요. 프로젝트의 build.gradle.kts 파일에 있는 plugins {} 블록에서 해당 플러그인 ID를 적용하면 돼요:

plugins {
    id("org.jetbrains.dokka-javadoc") version "2.2.0"
}

플러그인을 적용하고 나면 다음 태스크를 실행할 수 있어요:

javadoc.jar 파일은 따로 생성할 수 있어요. 자세한 내용은 Building javadoc.jar를 참고해요.

Maven용 Dokka 플러그인에는 Javadoc 출력 형식이 내장되어 있어요. 다음 goal을 사용해서 문서를 생성하면 돼요:

Goal Description
dokka:javadoc Javadoc 형식으로 문서 생성
dokka:javadocJar Javadoc 형식의 문서를 담은 javadoc.jar 파일 생성

Javadoc 출력 형식이 Dokka 플러그인이기 때문에, 플러그인의 JAR 파일을 다운로드해야 해요.

Javadoc 출력 형식에는 추가 JAR 파일로 제공해야 할 의존성이 두 개 있어요:

커맨드 라인 옵션으로 실행할 때는:

java -jar dokka-cli-2.2.0.jar \
     -pluginsClasspath "./dokka-base-2.2.0.jar;...;./javadoc-plugin-2.2.0.jar" \
     ...

JSON 설정으로 실행할 때는:

{
  ...
  "pluginsClasspath": [
    "./dokka-base-2.2.0.jar",
    "...",
    "./kotlin-as-java-plugin-2.2.0.jar",
    "./korte-jvm-3.3.0.jar",
    "./javadoc-plugin-2.2.0.jar"
  ],
  ...
}

더 자세한 내용은 CLI 러너 문서의 Other output formats에서 확인할 수 있어요.

더 알아보기

  • Maven에서 Javadoc 산출물을 만드는 방법은 Dokka Maven 문서를 참고해요.
  • Dokka 플러그인을 적용하고 확장하는 법은 Dokka plugins에서 배워요.