2011-08-10 4 views
3

私は自分のbuild.xmlでこれを持っている:Java Ant - ProGuardタスクの引数を渡して設定ファイルの中でそれらを使う方法?

<target depends="build-jar" name="proguard"> 
    <taskdef resource="proguard/ant/task.properties" classpath="tools/proguard4.6/lib/proguard.jar" /> 
    <proguard configuration="ant/proguard.conf" /> 
</target> 

それは正常に動作します。設定ファイル(つまり「アリ/ proguard.conf」)インサイド

私は、このbuild.xmlファイルで定義されたプロパティにアクセスしようとしているが、私はいつもこの種のエラーを取得しています:

Value of system property 'jar.final_name' is undefined in '<jar.final_name>' in line 1 of file '.......\ant\proguard.conf' 

エラーはクリアです。質問は私が何をしようとしているのですか?
「ProGuardの組み込みオプションを組み込む」方法では、build.xmlの他のプロパティと同様にこれらのプロパティを使用できますが、ファイルを別々に保つようにしています。

どうすればいいですか?

答えて

6

デフォルトでは、AntはそのタスクのJavaシステムプロパティを設定する方法を提供しません。 ANT_OPTSシステム変数に指定できるのは、Antを起動するときだけです。

参照対象のProGuard構成(ProGuardの開発者)でAntプロパティの使用をサポートすることを検討します。

当面、受け入れ可能な解決策は、AntのXML形式での入力と出力のjarファイルを指定するには、次のようになります。

<proguard configuration="ant/proguard.conf"> 
    <injar  name="${injar}" /> 
    <outjar  name="${outjar}" /> 
    <libraryjar name="${java.home}/lib/rt.jar" /> 
</proguard> 

設定のこの部分は、より密接とにかくAntスクリプトに関連付けられています。

+0

Ahh OK、2つの方法(外部と埋め込み)を組み合わせようとしませんでした。ありがとう!そして、ところで、ProGuardに感謝します! (: – Poni

関連する問題