M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

ProGuardマニュアル(12) フィルター

原文は、ProGuard Manual”(Eric Lafortune)です(2011年3月29日取得)。

イントロダクションと索引はこちら

******************************

フィルター

ProGuardは、複雑なコンフィギュレーションのために、フィルターをともなうオプションを提供しています。それらは、ファイル名、ディレクトリ名、クラス名、パッケージ名、属性名、最適化処理とその他の名前に対して適用可能です。

フィルターはワイルドカードを含めることができるカンマ区切りのリストです。リスト内の項目にマッチした名前のみが、フィルターを通過します。それぞれのフィルターでサポートされているワイルドカードは、そのフィルターが適用される対象によって異なっていますが、次のワイルドカードは一般的に使用できます。

? 名前の中の何らかの1文字にマッチします。
* パッケージもしくはディレクトリ区切り文字を除く、名前の一部分にマッチします。
** パッケージ区切り文字もしくはディレクトリ区切り文字を含む、名前の一部分にマッチします。

例えば、“foo,*bar”という記述は、fooという名前と、barという字面で終わるすべての名前にマッチします。

その上、名前の先頭にエクスクラメーション“!”をつけることで、後続の名前記述がマッチするであろう項目の中から、当該の項目を除くことができます。つまり、フィルタ内の名前にマッチした項目が、処理対象とされるかどうかは、その名前記述が否定素子を持つかどうかで決まるのです。名前記述が対象の項目にマッチしなければ、次の項目にマッチするかどうかがテストされます。これのくりかえしです。どの項目にもマッチしなければ、それらの項目が処理対象となるかどうかは、否定素子の有無によって決まります。

例えば、“!foobar,*bar”という記述は、foobarという名前を除くbarという字面で終わるすべての名前にマッチします。

******************************

ProGuardマニュアル(13)につづく。