首页 > 解决方案 > 如何在 dokka 的 fatjar 中使用多个源路径?

问题描述

我正在使用 dokka 为多模块项目生成一些代码。我已经成功地能够使用他们的 cli fatjar 为单个模块生成文档,但该模块依赖于另一个模块。

让我注意,我启动的进程命令之间的唯一区别是源参数(尽管为了方便和 NDA 目的,我已经编辑了类路径之类的东西):

单模块

(在职的)

java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path1>/src -output docs -classpath <class_path>

多个来源

(甚至不分析并在输出目录中产生 0 结果)

java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path1>/src:/<absolute_path2>/src -output docs -classpath <class_path>

类路径最终完全相同(在项目构建代码中聚合它们之后)。

标签: kotlin-dokka

解决方案


用空格分隔源目录,而不是:

java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path1>/src /<absolute_path2>/src -output docs -classpath <class_path>

这将生成来自两个目录的混合源的单个文档。

要为每个模块生成单独的文档,请使用

java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path1>/src -output docs -classpath <class_path_for_module1> -module module1

然后对于依赖于模块1的模块2:

java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path2>/src -output docs -classpath <class_path_for_module2> -module module2 -links <deploy_url>^file://./docs/module1/package-list

假设<class_path_for_module2>包含 module1 + 的编译输出<class_path_for_module1>


推荐阅读