Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

This site is in the process of being reviewed and updated.

...

This page give some information about the layout of Apache DS 1.5 trunks, and try to explain how it is built.

...

Project Hierarchy

The actual project hierarchy is the following (as of 1.5.5-SNAPSHOT) :

...

If the build hangs or you get an out of memory exception please increase the heap space:

  • For Linux:

MAVEN_OPTS="-Xmx256m" mvn clean install

  • For Windows:

SET MAVEN_OPTS="-Xmx256m"
mvn clean install

...

On a Linux box you could add the following to the .bashrc file (.bashrc is a file you'll find in your home directory)

...

...

Windows users, use Control Panel -> System -> Advanced -> Environment Variables

JDK 5

...

...

There may be some issues with older JDK versions and Kerberos, therefore we recommend using a version >=1.5.0_09

...

Getting the code

To download the sources, you must have installed a Subversion client.

With readonly access :

...

...

With read/write access (for committers only) :

...

...

Building the trunks

Enabling Snapshot Repositories

...

...

The following information is only needed if one want to setup its own maven repo. There is no need to define a settings.xml file for generic usage.
Before building the trunks, you must configure Maven 2 to use the snapshot repository for Apache. Snapshot repositories are typically configured per user at ~/.m2/settings.xml. The following example, added to your settings.xml, will add a profile for the Apache snapshot repository.

...

You may either specify the profile at the command-line, each time you use 'mvn', or you may configure the profile to always be active.

To use a profile at the command-line:

...

...

To specify the 'apache' profile to always be active:

...

 Building the trunks

Now, we can compile the project.

The command is simple :

...

...

You must make sure you build the shared, installers, and daemon project modules in addition to the apacheds module to prevent problems with stale Maven SNAPSHOT jars in the snapshot repository from causing compilation errors. This can be guaranteed by performing all Maven operations above in the top directory that you checked out: the apacheds-trunk directory.

...

A lot of plugins will be downloaded. If you are curious, you can then look at .m2/repository to see what has been downloaded on this step.
Building should finish with these lines:

...

...

If you want to do really safe build, run the following commands in trunks:

...

...

Building the installers

Building the installers is a two phase process :

...

...

That's it, the jars will be find in target/images/apacheds-1.5.?SNAPSHOT<XXXXXX>-setup.jar where XXXXXX is your local system and ? is the feature release minor number for the 1.5 branch.

...

The directory apacheds-trunk/installers/apacheds-noarch contains a script for Linux (apacheds.sh) and one for Windows (apacheds.bat) which can be used for starting the server without the need to install it first (as non-root-user on Linux and non-Windows-service on Windows).

Linux:

...

...

Integration test

To run integration tests, just use the following command :

...

Eclipse

Building eclipse files

To build the .project and .classpath files for eclipse, type the following commands :

...

...

(The last command is necessary because eclipse:eclipse purge the target directory, and we need some generated files which has been removed. This is why we do another *mvn clean installù in the boostrap-partition module
then import all the existing project which has been created.

...

Add an eclipse-apacheDS.sh file in your eclipse root directory, to allow eclipse to get more memory (e.g. 750MB)
You may also declare a specific workspace when launching eclipse. I have created a workspace-apacheDS directory in my HOME directory, where all the ApacheDS project is built when I use Eclipse.

...

...

Launch eclipse :

...

Eclipse plugins

Coding standards

...