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:'inheritAll': optional, boolean. If true all properties defined in the ant build process are transmitted to izpack parser for substitution.
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.