Kotlinではドキュメント生成ツール(KDoc JavaでのJavadoc的なもの)として Dokkaというツールがあります。 自作のライブラリでdokka 0.10.1を使っていたのですが、気づいたら1.4.xにアップデートしていました。1 Gradleでの書き方も変更があり、だいぶハマったのでまとめておきます。
TL;DR
chore: update dokka to 1.4.20 · masahitojp/bqdatamapper4k@a8a6933 · GitHub
dokka 1.4.xでの変更点
公式ドキュメントでまとまってます。
/* 0.10.x */ outputDirectory = "$buildDir/javadoc" /* 1.4.x */ outputDirectory.set(buildDir.resolve("javadoc"))
こんな感じで =
で設定していた箇所がsetter methodに変わったりしてるっぽい。
が、実際にコードで使ってるプロジェクトがなかなかなく,じゃーどう書き換えればいいかよくわかりませんでした。
というわけでGithub で検索してなんとなくわかってきました。
// 0.10.xでのjavadocフォルダにhtmlを出力する設定 val dokka by tasks.getting(DokkaTask::class){ outputFormat = "html" outputDirectory = "$buildDir/javadoc" } // 1.4.xでの同じ書き方 htmlを出力したいのでdokkaHtmlを使う tasks.dokkaHtml.configure { outputDirectory.set(buildDir.resolve("javadoc")) } // for 1.4.x [Option] Gfm, javadoc, Jekyll向けの設定もある tasks.dokkaGfm.configure {} tasks.dokkaJavadoc.configure {} tasks.dokkaJekyll.configure {}
// for 0.10.x val dokkaJar by tasks.creating(Jar::class) { group = JavaBasePlugin.DOCUMENTATION_GROUP description = "Assembles Kotlin docs with Dokka" archiveClassifier.set("javadoc") // dependsOn(dokka) not needed; dependency automatically inferred by from(dokka) from(dokka) } // for 1.4.x val dokkaJar by tasks.creating(Jar::class) { group = JavaBasePlugin.DOCUMENTATION_GROUP description = "Assembles Kotlin docs with Dokka" archiveClassifier.set("javadoc") // dependsOn(dokka) not needed; dependency automatically inferred by from(dokka) from(tasks.dokkaHtml) // ^でのtasksの設定を入れる }
参考
関連ドキュメント
先人に感謝。
-
https://github.com/Kotlin/dokka/releases/tag/v1.4.20 version名にalphatついているのが気になるところ.リライトしたとのことなのでまだ安定版ではないアピール?↩