我正在使用带有预览功能的Gradle 6.0.1和JDK12。 具有以下配置,可以进行编译,运行和测试:
tasks.withType(JavaCompile) {
options.compilerArgs += "--enable-preview"
}
tasks.withType(Test) {
jvmArgs += "--enable-preview"
}
tasks.withType(JavaExec) {
jvmArgs += '--enable-preview'
}
对于除我定义如下的javadoc生成之外的所有代码都适用:
task generateJavadocs(type: Javadoc) {
source = sourceSets.main.allJava
options.jFlags("--enable-preview")
}
运行gradle generateJavadocs
时,我收到新开关表达式的编译错误。有人让它与Javadoc兼容吗?
答案 0 :(得分:3)
我在使用JDK 14(和Gradle 6.3)的预览功能时遇到了同样的问题。这对我有用:
javadoc.options {
addBooleanOption('-enable-preview', true)
addStringOption('-release', '14')
}
根据您的情况,尝试:
task generateJavadocs(type: Javadoc) {
options {
addBooleanOption('-enable-preview', true)
addStringOption('-release', '12')
}
}
答案 1 :(得分:1)
此答案增强了Manfred的答案,适用于尝试使用gradle的kotlin api设置javadoc args的任何人。我花了一段时间才弄清楚对addStringOption和addBooleanOption的访问需要强制转换。
tasks.withType<Javadoc> {
val javadocOptions = options as CoreJavadocOptions
javadocOptions.addStringOption("source", "14")
javadocOptions.addBooleanOption("-enable-preview", true)
}