Sto provando a fornire Gradle come un sistema di generazione alternativo su un progetto esistente. Tale progetto si avvale di sun.misc.Unsafe
che porta ad avvertimenti come questo:Passare argomenti a compilatore e javadoc in gradle
warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe;
Per sopprimere questo avvertimento -XDignore.symbol.file
viene passato come argomento a javac e javadoc nello script ant corrente.
Per sopprimere questi avvisi in Gradle ho dovuto ricorrere a quelli che ritengo siano hack "sporchi" con cui non mi trovo a mio agio.
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')
}
Sicuramente ci deve essere un modo più elegante che non conosco per raggiungere questo obiettivo.
Qui (https://gist.github.com/3772416) è un esempio più completo con uno script ant antispam e una classe di esempio che causa il problema.
Grazie
Sono in esecuzione Gradle 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
Sembra che questo è un worakround ragionevole in questo momento per la soppressione di queste avvertenze particolari. Vedi - http://forums.gradle.org/gradle/topics/passing_arguments_to_compiler_and_javadoc?rfm=1
Si prega di indicare sempre la versione Gradle. –
Ho aggiunto le informazioni sulla versione come suggerito –