Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added a note about Separators in filenames

...

The variable replacement happens before the afterpack listeners are executed.

Attributes

Attribute

Description

Required

Values 
(Default)

targetfile

Relative or absolute target path of the pack file in which variables should be replaced.

May contain IzPack variables resolved during installation.

Example: $INSTALL_PATH/conf/app.properties

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

type

Specifies the text file type:

  • plain - use for plain text files, where the variable definition syntax cannot conflict with the original file's syntax.
    Syntax variant 1: Prefix: $
    Syntax variant 2: Prefix: ${, Suffix: }
    Example: ${MY_VAR} or $MY_VAR.
  • javaprop - use for Java properties file, to choose the right default encoding "ISO-8859-1" and to replace escapes correctly.
  • java - use in Java source files, to replace escapes correctly.
  • xml - use for XML files, to choose the right default encoding "UTF-8".
  • shell - use for shell scripts.
    Syntax variant 1: Prefix: %
    Syntax variant 2: Prefix: %{, Suffix: }
    Example: %MY_VAR or %{MY_VAR}.
  • at 
    Prefix: @
    Example: @MY_VAR.
  • ant - use in Ant files, where the plain style for IzPack conflicts with the syntax of Ant property substitutions.
    Prefix: @, Suffix: @
    Example: @MY_VAR@

no

"plain" | "javaprop" (Properties) | "xml" | "java" | "shell" | "at" |"ant" (Ant buildfile) 
("plain")

encoding

The file encoding

no

A valid Java encoding string 
("ISO-8859-1" for type="javaprop", 
"UTF-8" for type="xml", otherwise the Java default charset is assumed as encoding)

os

Limits this action on a particular OS family, works like for <file>

no

No recommended to use any longer, use the nested <os> tag, instead.

condition

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. 

...

 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="projectExtractor.bat,projectInstaller.bat
    </parsable>
 
...
<pack>