パスの割り当てリファレンス
メモ:
パスの割り当ては現在、Android モード プロジェクトでのみサポートされています。
パスの割り当てファイルは、DashO Gradle プラグイン(Android 用)によって生成されるものであり、手動で管理してはなりません。 このページの情報は、トラブルシューティング用に記載されています。
パスの割り当てファイルには、PreEmptive Protection™ DashO™ for Android & Java に処理させる 1 つまたは複数のディレクトリまたは jar と、処理されたクラスが DashO によって書き込まれる出力先を指定します。 また、入力で使用するディレクトリおよび/または jar も指定します。
最上位レベルのオブジェクト
パスの割り当てフォーマットは、JSON オブジェクトで構成されています。
{
"version": "2.0",
"entries": [
{
"input": "C:\\test\\app-classes.jar",
"output": "C:\\test\\out\\app-classes-processed.jar",
"name": "app-classes",
"scopes": [ "PROJECT" ]
},
{
"input": "C:\\test\\generated-classes\\",
"output": "C:\\test\\out\\generated-classes\\",
"name": "generated-classes",
"scopes": [ "PROJECT" ]
}
],
"dependencies": [
{
"path": "C:\\android\\android.jar",
"scopes": [ "BOOT" ]
},
{
"path": "C:\\test\\lib.jar",
"name": "lib-jar",
"scopes": [ "EXTERNAL_LIBRARIES" ]
}
]
}
最上位レベルのオブジェクトには、以下のプロパティが含まれています。
version
- 必須、文字列。使用するパスの割り当てフォーマットのバージョンを示す数値の文字列表現です。 このバージョンの DashO では、パスの割り当てフォーマットのバージョン"2.0"
のみがサポートされています。entries
- 必須、エントリの配列。 これらのエントリは、DashO の入力と、それに対応する出力を示します。dependencies
- 必須、依存関係の配列。 entries に指定した入力の依存関係で構成される配列です。これらの依存関係は、DashO によって入力として扱われないようにする必要があります。
entries
entries には、入力と、それに対応する出力の場所、および以下のプロパティを指定します。
input
- 必須、文字列。DashO に処理させる入力へのパスです。output
- 必須、文字列。DashO がエントリの処理済みクラスを書き込むパスです。name
- 省略可能、文字列。入力のフレンドリー名。DashO GUI によって表示用に使用されます。scopes
- 省略可能、文字列の配列。 エントリとプロジェクトの関係を指定します(例:プロジェクト クラスの場合はPROJECT
)。
input
または output
に記述したすべての相対パスは、パスの割り当てファイルの場所からの相対パスとして解決されます。
DashO では、入力のファイルまたはディレクトリが欠落している場合にはエラーが発行されるのに対し、出力ファイルの親ディレクトリが存在しない場合には自動的に作成されます。
メモ:
パスの割り当ての entries または dependencies には、同じファイルを複数回記述してはなりません。
上記の例では、C:\test\app-classes.jar
内のクラスを処理したものが C:\test\out\app-classes-processed.jar
に出力されます。
出力の種類は対応する入力の種類と同じになります。つまり、入力が jar なら出力も jar となり、入力がディレクトリなら出力もディレクトリとなります。
dependencies
dependencies には、entries に指定した入力によって参照すべきクラスが含まれている jar とディレクトリ(ただし、DashO への入力として扱ってはならないもの)を記述します。 dependencies には以下のプロパティを記述します。
path
- 必須、文字列。jar またはディレクトリへのパスです。name
- 省略可能、文字列。dependency のフレンドリー名。DashO GUI によって表示用に使用されます。scopes
- 省略可能、文字列の配列。 依存関係とプロジェクトの関係を記述します(例:Android アプリケーションにパッケージ化されない Android SDK jar とその他のコア クラスの場合は、BOOT
)。