Added by Julien Ponge, last edited by Julien Ponge on Sep 29, 2008  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

Obtaining the source code

While the IzPack installer ships with a package containing the source code, you will probably want to work with fresher versions.

The reference source code depot for IzPack is our Subversion repository at Codehaus. For those who would like some more flexibility, Git repositories are also made available.

Subversion

The Subversion repository is available from http://svn.codehaus.org/izpack/ and contains several modules:

  • izpack-src: IzPack source code
  • izpack-launcher: the native launcher code
  • izpack-utils: the IzPack utilities (izpack2exe, izpack2app, ...)
  • izpack-maven: IzPack Maven plugin
  • izpack-testlangpacks: langpacks testing tool
  • izpack-showcases: showcases featuring IzPack on third-party projects (Glassfish v2/v3, Groovy, ...).

Each module follows the trunk/tags/branches conventional Subversion layout.

For instance, you can checkout the IzPack trunk as follows:

svn checkout http://svn.codehaus.org/izpack/izpack-src/trunk izpack-src-trunk

Access through HTTPS shall only be made by the IzPack developers. You can however perform anonymous checkouts and updates through HTTPS, especially if you are stuck behind a HTTP proxy that filters WebDAV HTTP methods.

Git

Git may be a better option if you like to work in a decentralized fashion, and/if you are not an IzPack developer with write access to the Subversion repository.

Julien Ponge (IzPack creator and maintainer) maintains a Git repository on GitHub that is frequently synchronized with the Subversion repository. He is also able to push back changes from Git to Subversion, so do not hesitate to use Git to collaborate with him if you plan to propose patches.

For example, you can clone the IzPack repository as follows:

git clone git://github.com/jponge/izpack.git izpack.git

Finally, note the branch named with-git-submodules in the IzPack Git repository. It is the same as master but with additional files to support submodules pointing to the utils and launcher repositories. The reason for having them in a separate branch is that one cannot commit back to Subversion if the current branch has submodules...

Compiling IzPack

IzPack uses Apache Ant. The build file (build.xml) is located in the 'src' folder.

The most important Ant targets are the following ones:

  • dist builds an installer ready for publishing
  • quickdist is the same, but without generated documentations (faster builds for testing)
  • dist+run, quickdist+run launch the installer after the build process is complete
  • run.installer launches the generated installer with rebuilding IzPack.

Compiling the documentation

The documentation is written using Python Docutils. The documentation lives in src/doc-rest. The content is stored in plain-text files in reStructured format.

A build script is provided (build.py). As such, you will need Python and the Docutils project to be installed on your system.

Also, the generation of a PDF version requires LaTeX. Popular LaTeX distributions include TeXLive and MikTeX.