Compile-time Properties - <properties>
Understanding Properties
IzPack properties are key-value pairs that can be used for substitution during the compilation phase, only. The scope makes the difference to variables, which are evaluated and can be seen also during the installation phase. IzPack properties will not be visible during the execution of the compiled installer.
Properties cannot be re-defined and once a property is created, it will not be overwritten.
Using Properties
Properties can be explicitely set in the installer descriptor. Additionally, IzPack sets built-in properties depending on how the compilation is launched
Setting Properties
Explicit Properties
Explicit properties can be defined by the user using the <properties> element as a child of the <installation> element.
Example:
Maven Properties
When launching the compilation using the IzPack Maven plugin, all Maven project properties are available as properties in IzPack.
Maven properties have priority over explicit properties, since they are set during instantiation of the IzPack compiler, before the IzPack compilation starts so they can not be replaced by later specifications from the <properties> element.
This behavior of defining implicit properties is similar to setting implicit Ant project properties in IzPack 4.X.
Example:
Reading/Substituting Properties
IzPack properties can be referenced in the installation specification by a leading 'at' placeholder followed by the property name (for example @my.prop.name).
Optionally, when embedding property substitution into text which continues without a whitespace character, the key can be embedded in braces opening after the 'at' (for example @{my.prop.name}).
IzPack properties are substituted when there definition can be found in the installation descriptor XML inside of
- element attribute values,
- embedded (enclosed) content.
Example: