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

时间:2018-05-25 21:46:59

标签: kotlin-dokka

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

请注意,这些流程之间的唯一区别是'我启动的命令是sources参数(虽然为了简化和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>

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

2 个答案:

答案 0 :(得分:1)

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

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>包含module1的编译输出+ <class_path_for_module1>

答案 1 :(得分:0)

最终为我工作的是 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问题提供。谢谢!