我試圖提供Gradle作爲現有項目的替代構建系統。該項目利用了sun.misc.Unsafe
導致這樣一個警告:將參數傳遞給gradle中的編譯器和javadoc
warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe;
要禁止這種警告-XDignore.symbol.file
作爲當前ant腳本的參數的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')
}
當然,必須有一個更優雅的方式,我不知道要實現這一點。
這裏(https://gist.github.com/3772416)是一個更完整的示例,其中包含一個伴隨的ant腳本和一個導致問題的示例類。
感謝
我正在搖籃1.1
------------------------------------------------------------
Gradle 1.1
------------------------------------------------------------
Gradle build time: Tuesday, 31 July 2012 13:24:32 o'clock UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.7.0_07 (Oracle Corporation 23.3-b01)
OS: Linux 3.2.0-30-generic amd64
看來,這是目前用於抑制這些特定警告合理worakround。見 - http://forums.gradle.org/gradle/topics/passing_arguments_to_compiler_and_javadoc?rfm=1
請始終聲明Gradle版本。 –
我已經添加了版本信息建議 –