Apache Ant integration
IzPack can be easily integrated inside an Ant build process.
E.g.:
<?xml version="1.0"?> <project default="install"> <path id="build.classpath"> <fileset dir="${user.home}/IzPack"> <include name="lib/*.jar" /> </fileset> </path> <taskdef name="izpack" classpathref="build.classpath" classname="com.izforge.izpack.ant.IzPackTask" /> <target name="install"> <izpack input="install.xml" output="IzPack-install.jar" installerType="standard" inheritAll="true" basedir="${basedir}" izPackDir="${user.home}/IzPack/" /> </target> </project>
The above assumes that the IzPack distribution has been installed to ${user.home}/IzPack.
The IzPack task takes the following parameters:- 'input': the XML installation file. The installation can be specified as an external file, or embedded using a config child element.
- 'output': the output jar installer file
- 'installerType': optional. standard or web. If web, the <webdir> attribute must be specified in the input file. Used to force creation of a standard installer when the <webdir> attribute has been used.
'inheritAll': optional, boolean. If true all properties defined in the ant build process are transmitted to izpack parser for substitution.
- 'baseDir': the base directory to resolve the relative paths
- 'IzPackDir': the IzPack home directory
Embedding the installation file using a config element
Instead of using the 'input' attribute to specify an external installation document, you can embed the installation config as a child of the IzPack task using a config child element with a CDATA section. For example:
... <!-- Call IzPack with an embedded install using the config element --> <IzPack output= "${dist.dir}/IzPack-install.jar" installerType= "standard" basedir= "${dist.dir}" inheritAll= "true" IzPackDir= "${dist.dir}/" > <config><![CDATA[ <installation version= "1.0" > <info> <appname>JBossAS</appname> <appversion> 4.0 . 2 </appversion> <appsubpath>jboss- 4.0 . 2 </appsubpath> <authors> </authors> <url>@{jboss.home.url}</url> <javaversion> 1.4 </javaversion> </info> ... ]]></config> </IzPack> |
Property references of the form
@{x} |
are replaced by the associated x ant property if it is defined.