Chapter 3. Server Compilation
Prev |  | Next

# Chapter 3. Server Compilation

List of documents describing how to work with sources and how to compile them.

- Tigase XMPP Server 5.2.0 and Later - Compilation and Generating Distribution Packages
- Tigase Packages Dependency Change - Server Compilation Version 4.x or Later
- Server Compilation - Version 2.x and 3.x

## Tigase XMPP Server 5.2.0 and later - Compilation and Generating Distribution Packages

Starting with version 5.2.0 Tigase Server package distribution generation has switched from Ant to Maven. This will allow better dependency management as well as build repeatability.

For details on Maven and it’s use, please see the Maven Guide.

### Distribution Packages

Starting from version 5.2.0 there will be two separate distribution archives:

- -dist is a minimal version containing only tigase-server, tigase-xmltools and tigase-utils
- -dist-max is a version containing all additional tigase components (MUC, PubSub, HTTP API, OSGi support, etc.) as well as dependencies required by those components.

They will be available as both zip and tarball.

### Building Server and Generating Packages

After cloning tigase-server repository:

    git clone https://repository.tigase.org/git/tigase-server.git
    cd tigase-server

You compile server with maven using project distribution profile (dist):

    mvn -Pdist -f modules/master/pom.xml clean install

This will:

- compile server binaries
- generate javadoc documentation
- grab all latest versions of all declared dependencies and put them in jars/ directory
- create both types of distribution packages (-dist and -dist-max) and place them in pack/ directory

In order to create installer packages you have to execute two shell scripts:

    ./scripts/installer-prepare.sh
    ./scripts/installer-generate.sh

However, in order for them to succeed you have to build the server first using maven as described earlier. You should also have git, python2, docutils and LaTeX distributions installed (please see src/main/izpack/README.txt for details).

### Running Server

Afterwards you can run the server with the regular shell script:

    ./scripts/tigase.sh start etc/tigase.conf

Please bear in mind, that you need to provide correct setup in etc/init.properties configuration files for the server to work correctly.

Prev |  | Next
API changes in the Tigase Server 5.x | Home | Tigase Packages Dependency Change - Server Compilation Version 4.x or Later