Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Table of Contents

Project Hierarchy

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

...

This hierarchy represent the projects being built. Some project (OSGI, ...) are not built

Prerequisites for building

You must have installed Maven 2.0.9 and have a JDK 5 installed on your computer. A working internet connection is also mandatory.

Maven

Download and install Maven 2.0.9. (ATTENTION !!! Do NOT use another version of Maven )

...

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

JDK 5

Info
titleSun JDK

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.

...

No Format
svn co https://svn.apache.org/repos/asf/directory/apacheds/trunk-with-dependencies/ apacheds-trunk

Building the trunks

Enabling Snapshot Repositories

Note

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.

Code Block
<settings>
  <profiles>
    ...
    <profile>
      <id>apache</id>
      <repositories>
        <repository>
          <id>apache.org</id>
          <name>Maven Snapshots</name>
          <url>http://people.apache.org/repo/m2-snapshot-repository</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>apache.org</id>
          <name>Maven Plugin Snapshots</name>
          <url>http://people.apache.org/repo/m2-snapshot-repository</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    ...
  </profiles>
</settings>

...

Code Block
<settings>
  ...
  <activeProfiles>
    <activeProfile>apache</activeProfile>
  </activeProfiles>
  ...
</settings>

 Building the trunks

If you already have built the trunks once, it may be better to clean the repository :

...

Info

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

No Format
resources/superclean.sh
mvn install
mvn -Dintegration test

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.

Starting the server without installation

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).

...

No Format
cd apacheds-trunk/installers/apacheds-noarch
./apacheds.sh

Integration test

To run integration tests, just use the following command :

Code Block
cd apacheds-trunk
mvn -Dintegration test

Eclipse

Building eclipse files

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

...

then import all the existing project which has been created.

Maven settings

Don't forget to declare a classpath variable named M2_REPO, pointing to ~/.m2/repository, otherwise many links to existing jars will be broken.
You can declare new variables in Eclipse in Windows -> Preferences... and selecting Java -> Build Path -> Classpath Variables

Eclipse hints

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.

...

No Format
<eclipse_root>/eclipse-apacheDS.sh

Eclipse plugins

Coding standards

The coding standards including an eclipse code formatting profile is available here.