在gradle中将参数传递给编译器和javadoc
我试图提供Gradle作为现有项目的替代构建系统。该项目使用了在gradle中将参数传递给编译器和javadoc,java,javadoc,gradle,javac,Java,Javadoc,Gradle,Javac,我试图提供Gradle作为现有项目的替代构建系统。该项目使用了sun.misc.Unsafe,这会导致如下警告: warning: Unsafe is internal proprietary API and may be removed in a future release import sun.misc.Unsafe; 要抑制此警告,请在当前ant脚本中将XDignore.symbol.file作为参数传递给javac和javadoc 为了压制Gradle的这些警告,我不得不求助于我觉
sun.misc.Unsafe
,这会导致如下警告:
warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe;
要抑制此警告,请在当前ant脚本中将XDignore.symbol.file作为参数传递给javac和javadoc
为了压制Gradle的这些警告,我不得不求助于我觉得“肮脏”的黑客,我对此感到不太舒服
apply plugin: 'java'
compileJava {
// I only managed to get this working when I forked
// and passed 'javac' as an executable
options.compilerArgs << '-XDignore.symbol.file'
options.fork = true
options.forkOptions.executable = 'javac'
}
javadoc {
// These get ignored
// options.addStringOption('XDignore.symbol.file', null)
// options.addStringOption('XDignore.symbol.file')
// This one fails the build - I am assuming it's trying to parse ''
// options.addStringOption('XDignore.symbol.file')
// This works, but it's an ugly hack
options.addStringOption('XDignore.symbol.file', '-quiet')
}
目前看来,这是压制这些特定警告的合理借口。关于Javadoc,请参见-,以下方法可能有效:
javadoc.options.jflags "-XDignore.symbol.file"
关于Java编译,最好知道最近的Gradle版本(例如1.2)是否仍然需要
options.fork=true
和options.forkOptions.executable='javac'
。如果是,请在提交问题。请始终说明Gradle版本。我已按照建议添加了版本信息。我尝试使用jFlags
并获得了一个无法识别的选项:-XDignore.symbol.file
我已升级到Gradle 1.2,我仍然需要options.fork=true
和options.forkOptions.executable='javac'
。我也尝试过1.2版本的jFlags,得到了与1.1版本相同的结果。我将在Gradle论坛上提出这个问题。谢谢你的帮助。
javadoc.options.jflags "-XDignore.symbol.file"