我有一个包含compileJava
任务的gradle脚本,我希望它提供两个不同的Jar
任务,jar
和jarForce
。 jarForce
任务应编译添加了-Awarns
选项的源,以便将注释处理器错误视为警告,jar
任务应使用默认参数运行编译,以便编译失败如果有任何注释处理器错误。我怎样才能做到这一点?
答案 0 :(得分:0)
考虑以下内容,在compileJava
位于任务图中的情况下,将jarForce
的选项修改为:
apply plugin: 'java'
gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask(jarForce)) {
println "TRACER jarForce detected"
// we use verbose simply to illustrate that the options are changed
compileJava.options.compilerArgs << "-verbose"
compileJava.options.compilerArgs << "-Awarns"
}
}
task jarForce(dependsOn: 'jar') {
doFirst {
println "TRACER jarForce"
}
}
如果您执行gradle clean jar
与gradle clean jarForce
,则会看到输出完全不同,因为我们使用-verbose
作为说明。 -Awarns
的使用留待读者阅读。