We need you!

Icon

The IzPack documentation needs work, and you are invited to edit it!

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Apache Ant integration

IzPack can be easily integrated inside an Ant build process.

E.g.:

 

Code Block
languagehtml/xml
<?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:

 

<property name="jboss.home.url" value="http://www.jboss.com/" />
...
 
<!-- 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>
         <author name="JBoss Inc." email="sales@jboss.com"/>
      </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.