2012-09-23 21 views
7

Mevcut projede Gradle'a alternatif bir derleme sistemi sağlamaya çalışıyorum.Gravürde derleyici ve javadoc'a bağımsız değişkenler aktarılıyor

warning: Unsafe is internal proprietary API and may be removed in a future release 
import sun.misc.Unsafe; 

bu uyarı -XDignore.symbol.file akım karınca komut javactır ve javadoc bir argüman olarak geçirilir bastırmak için: Bu proje bunun gibi uyarılar yol açar sun.misc.Unsafe yararlanır.

Bu uyarıları bastırmak için Gradle'da ne kadar rahat olmadığımı hissettiklerime 'kirli' hacklere başvurmak zorunda kaldım.

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') 
} 

Elbette bunu başarmak için bilmediğim daha zarif bir yol olmalı.

Burada (https://gist.github.com/3772416), eşlik eden bir karınca komut dosyası ve soruna neden olan bir örnek sınıfı ile daha eksiksiz bir örnektir.

Teşekkür

ben bu belirli uyarıları bastırmak için şu anda makul worakround gibi görünüyor 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 

çalıştırıyorum. Bkz - Javadoc İlişkin http://forums.gradle.org/gradle/topics/passing_arguments_to_compiler_and_javadoc?rfm=1

+1

Lütfen her zaman Gradle sürümünü belirtin. –

+0

Sürüm bilgilerini eklediğim gibi ekledim –

cevap

2

, şu işe yarayabilecek:

javadoc.options.jflags "-XDignore.symbol.file" 

Java derleme ile ilgili olarak, options.fork = true ve options.forkOptions.executable = 'javac' hala son Gradle sürümleri (örneğin 1.2) ile gerekli olmadığını bilmek iyi olurdu. Cevabınız evet ise lütfen http://forums.gradle.org numaralı telefondan sorun.

+0

"jFlags" kullanmayı denedim ve "Tanınmayan bir seçenek var: -XDignore.symbol.file" Gradle 1.2'ye yükselttim ve hala her iki seçeneğe de ihtiyacım var. true' ve 'options.forkOptions.executable = 'javac'. Ayrıca jFlags'ı 1.2 ile denedim ve 1.1 ile aynı sonucu aldım Gradle forumunda sorunu gündeme getireceğim. Yardımlarınız için teşekkürler. –

İlgili konular