我使用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>
类路径最终完全相同(在项目构建代码中聚合它们之后)。
答案 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问题提供。谢谢!