Marking files for variable replacement
<parsable>
- Mark Text Files For Parsing / Substituting Variables
Pack files marked <parsable>
are parsed after copying them to the target system and substitute IzPack variables. Those variables can be defined in a syntax according to their file format, the default for plain files is ${<variable_name>} or $variable_name.
Files must be first added to the pack using <singlefile>
, <file>
or <fileset>
before they can be marked parsable.
The variable replacement happens before the afterpack listeners are executed.
Attributes
Attribute | Description | Required | Values |
---|---|---|---|
| Relative or absolute target path of the pack file in which variables should be replaced. May contain IzPack variables resolved during installation. Example: The file must have been previously added to the pack. Separators (slashes) in the file name will replaced with the appropriate separator for the operating system. | (required, if no nested fileset is used) | File path |
| Specifies the text file type:
| no |
|
| The file encoding | no | A valid Java encoding string |
| Limits this action on a particular OS family, works like for | no | No recommended to use any longer, use the nested |
| id of the condition that controls the application of this action. | no | No default |
Nested Elements
- <os> - restrict parsing depending on the target operating system, see the OS Restriction element
<fileset> -
tags can be used to mark multiple files parsable at once.
The <fileset> which can be used here only supports the attributes targetdir, includes and excludes (not like the similiar Pack FileSet). If targetdir is not defined it will default to "${INSTALL_PATH}".
Filtering can be done with the includes or excludes attribute or nested <includes><include name="..."></includes> Elements
Important: <parsable>
marks files parsable, which have been added using the <singlefile>
, <file>
or <fileset>
tags before nested against the <pack> definition. There is no access to the filesystem for a <parsable>
fileset, but just to files that are packed into the installer before.
Example:
This specifies that projectExtractor.bat and projectInstaller.bat will be parsed after they are installed only if the conditions defined in the "projectIncluded" condition are met and the operating system is a version of Windows.
< pack name = "core" required = "yes" > ... < file targetdir = "$INSTALL_PATH" src = "projectExtractor.bat" > < file targetdir = "$INSTALL_PATH" src = "projectInstaller.bat" > <parsable type = "shell" condition="projectIncluded" > < os family = "windows" /> < fileset targetdir = "$INSTALL_PATH" includes = " </parsable> ... < pack > |