Path Map Reference
Notes:
Path maps are currently only supported for Android Mode projects.
Path Map files are generated by the DashO Gradle Plugin for Android and should not be managed by hand. Information on this page is included for troubleshooting purposes.
A path map file specifies one or more directories or jars which PreEmptive Protection™ DashO™ for Android & Java should process as well as the corresponding output locations where DashO will write the processed classes. It also specifies directories and/or jars on which the inputs depend.
Top-Level Object
The path map format consists of a JSON object:
{
"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" ]
}
]
}
The top-level object contains the following properties:
version
- Required, string. A string representation of a number describing the version of the Path Map format being used. This version of DashO only supports version"2.0"
of the Path Map format.entries
- Required, array of Entries. These entries describe DashO's inputs and their corresponding outputs.dependencies
- Required, array of Dependencies. An array of dependencies of inputs described in entries that are not to be treated as inputs by DashO.
Entries
Entries describe inputs and their corresponding output locations, and contain the following properties:
input
- Required, string. The path to the input to be processed by DashO.output
- Required, string. The path where DashO should write the entry's processed classes.name
- Optional, string. A friendly name of the input, used by the DashO GUI for display purposes.scopes
- Optional, array of strings. Describe the relationship of the entry to the project (e.g.,PROJECT
for your project classes).
Any relative paths in input
or output
will be resolved relative to the location of the Path Map file.
DashO will issue an error if an input file or directory is missing, but will attempt to create parent directories of an output file if they do not exist.
NOTE:
The same file must not appear more than once in the Path Map's entries or dependencies.
In the example above, the classes in C:\test\app-classes.jar
would be output into C:\test\out\app-classes-processed.jar
after processing.
Outputs will be the same type as the corresponding inputs, i.e., an input jar will produce an output jar and an input directory will produce an output directory.
Dependencies
Dependencies describe jars and directories that are not to be treated as inputs to DashO, but that contain classes referred to by inputs specified in entries. Dependencies contain the following properties:
path
- Required, string. The path to the jar or directory.name
- Optional, string. A friendly name of the dependency, used by the DashO GUI for display purposes.scopes
- Optional, array of strings. Describe the relationship of the dependency to the project (e.g.,BOOT
for the Android SDK jar and other core classes that wouldn't be packaged in an Android application).