我想将 JavaDocs 生成到项目根目录中的给定目录中,我知道
destinationDir
属性存在,但是考虑到我的 build.gradle
存在于项目根目录内的目录中,我该如何使用它。我在下面提供了一个小图:
/projectRoot
/lib
/build/docs/javaDocs <--- JavaDocs here by default
build.gradle
/docs <---- Need JavaDocs here
查看 gradle 中的 JavaDocs 文档,这里。我知道destinationDir 属性存在,所以我尝试像提供的示例一样设置它。这没有产生预期的影响,而是没有生成任何内容,或者它是否超出了我的项目目录?
tasks.withType(Javadoc).configureEach {
exclude ('com/nest/egg/**')
options.addStringOption("charset", "utf-8")
options.addStringOption("docencoding", "utf-8")
options.addStringOption("encoding", "utf-8")
destinationDir = reporting.file("docs") // Also tried "/docs", "docs/"
}
您需要将 Java
File
对象传递给 destinationDir
指定您所需的位置1。所以你可以写:
destinationDir = layout.projectDirectory.dir("..").dir("docs").asFile
ProjectLayout
对象。每个 dir()
调用都会为您提供一个 Gradle Directory
,因此您必须最终调用 asFile
才能最终获得所需的 Java File
对象。
1我不确定您调用
reporting.file("docs")
时使用的是什么对象,但 ProjectLayout
对象为您提供了您需要的一切。