# The Phex Build Process

#### for Phex 0.8

### System Requirements

To build Phex you need to have a the following Products installed:

- JavaTM 2 SDK, Standard Edition Version 1.4 or higher
  The Java 2 SDK is a development environment for building applications using the Java programming language.
  Download it from: http://java.sun.com/
- Jakarta ANT 1.4.1 or higher
  Ant is a Java based build tool.
  Download it from: http://jakarta.apache.org/
- Borland C++ Builder 5.5 Command Line Tools for Windows (optional)
  Download it from: http://www.borland.com/products/downloads/download_cbuilder.html

Additionally Phex uses the following Java librarys which need to be available during the build process. All these librarys can be found in the Phex CVS under `/phex/thirdparty`

- JAXP JavaTM API for XML Processing 1.1
  The Java API for XML Processing (JAXP) enables applications to parse and transform XML documents using an API that is independent of a particular XML processor implementation.
- JAXB JavaTM Architecture for XML Binding 1.0 beta
- Apache Crimson 1.1.3
- L2FProd Skin Look And Feel 1.2.2 (optional)
  SkinLF allows Java developers to write skinnable applications using the Swing toolkit.

### The Build Process

The directory `/phex/build` contains the build files for the ANT build process. The main build file that is used to start the build process is `/phex/build/build.xml`. You can start the default target buildAll of build process from the Phex home directory with the call:

> `ant -buildfile build\build.xml`

. To start different targets call:

> `ant -buildfile build\build.xml <target-name>`

### The Build Targets

The `/phex/build/build.xml` file contains 7 main build targets. They can be used to build different parts of the Phex build:

- buildAll
  This is the default build target that is used when the build process is started without specifying a build target. This target will start the targets buildJava and buildNative.
  You can use this target to build the source release.
- compileAll
  This target will start the targets compileJava and buildNative
- buildJava
  This target will compile the Phex Java source, the Skin Look And Feel patch if the Skin Look And Feel library is available, and build the Phex JAR file.
- compileJava
  This target will compile the Phex Java source and the Skin Look And Feel patch if the Skin Look And Feel library is available. This task compiles in debug mode by default. Official releases will have this flag disabled.
- buildNative
  This target will build the Phex native code for Windows if the Borland C++ Command Line Tools are available.
- javadoc
  This target will generate a Phex Javadoc.
- run
  This target will start buildAll and then starts the build Phex from the output directory.
- makeRelease
  This target should only be used to create a new official release and not to build a current source release. It will start buildAll and then generate a full Phex runtime, source, skin and self-installer release. It also increments the Phex build number.

Java is a trademark of Sun Microsystems, Inc.

Copyright © 2001 - 2006 Phex Development Group. All rights reserved.