如何在 dokka 的 fatjar 中使用多个源路径?

How do I use multiple source paths with dokka's 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>

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

使用 space 分隔源目录,而不是 :

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

然后是module2,它依赖于module1:

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> 包含模块 1 + <class_path_for_module1>

的编译输出

最终对我有用的是 java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar -src /<absolute_path1>/src:/<absolute_path2>/src -output docs -classpath <class_path>'=

即使用 -src 和本机路径分隔符。由@Semoro 在 dokka 的 gh 问题上提供。谢谢!