2012-09-23 17 views
7

私は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の引数として渡されます。そのプロジェクトは、このような警告につながるsun.misc.Unsafeの使用が可能。

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スクリプトとその問題の原因となるサンプルクラスのより完全な例です。

おかげ

私はこれは、これらの特定の警告を抑制するため、現時点で合理的worakroundようです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 

を実行しています。参照してください - のJavadocについてhttp://forums.gradle.org/gradle/topics/passing_arguments_to_compiler_and_javadoc?rfm=1

+1

必ずGradleのバージョンをご記入ください。 –

+0

私はバージョン情報を –

答えて

2

は、次のことがうまくいくかもしれない:

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

Javaコンパイルについては、options.fork = trueoptions.forkOptions.executable = 'javac'はまだ最近のGradleのバージョン(例えば1.2)で要求されているかどうかを知るために良いでしょう。はいの場合は、http://forums.gradle.orgに問題を提出してください。

+0

として追加しました。 'jFlags'を使って試してみたところ、'認識できないオプション:-XDignore.symbol.file'を得ました。 私はGradle 1.2にアップグレードしましたが、 'options.fork = trueと 'options.forkOptions.executable = 'javac''です。私はまた、1.2でjFlagsを試して、1.1と同じ結果を得ました。 私はGradleフォーラムで問題を提起します。 ありがとうございます。 –

関連する問題