README revision bd74afd3d3a48aed63cf319b1f7506429e0346c3
------------------------------------------------------------------------------
README file for OpenAM
------------------------------------------------------------------------------
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2012 ForgeRock AS Inc. All Rights Reserved
The contents of this file are subject to the terms
of the Common Development and Distribution License
(the License). You may not use this file except in
compliance with the License.
You can obtain a copy of the License at
See the License for the specific language governing
permission and limitations under the License.
When distributing Covered Code, include this CDDL
Header Notice in each file and include the License file
If applicable, add the following below the CDDL Header,
with the fields enclosed by brackets [] replaced by
your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"
------------------------------------------------------------------------------
Portions Copyrighted 2010-2012 ForgeRock US
------------------------------------------------------------------------------
%% Contents:
%% 1. Build requirements
%% 2. Library dependencies
%% 2.2 Obtaining shared library jars: jaxb-api.jar, jaxb-impl.jar,
%% 2.3 Obtaining testng-5.9-jdk15.jar
%% 2.4 Obtaining fmsae.dll, fmsae64.dll and agent-csdk
%% 2.6 Obtaining click-nodeps-2.3.0.jar.jar and click-extras-2.3.0.jar
%% 2.7 Obtaining ant-contrib-1.0b3.jar
%% 2.8 Obtaining commons-codec-1.4.jar
%% 2.9 Obtaining jsr311-api-1.1.jar
%% 2.10 Obtaining jstl.jar
%% 2.11 Obtaining jsf.jar, jsf-impl.jar
%% 2.12 Obtaining opendj.zip
%% 2.13 Obtaining log4j-1.2.8.jar
%% 2.14 Obtaining velocity-1.7.jar
%% 2.15 Obtaining commons-io 2.0.1
%% 2.16 Obtaining commons-lang 2.5
%% 2.17 Obtaining ognl 2.6.9
%% 2.18 Obtaining OpenDMK
%% 3. Building the workspace
%% 3.1 clean target
%% 3.2 cvsdiff target
%% 3.3 nightly target
%% 3.4 server-war target
%% 3.5 server-tools target
%% 3.6 server-nightly target
%% 3.7 agents-nightly target
%% 3.8 usage target
%% 1. Build requirements
The OpenSSO workspace uses Apache Ant as the build tool. The build scripts
in this workspace use features not present in releases of Ant prior to 1.6.
Thus, in order to build this workspace you must have Ant version 1.6.5 or above
installed and available in your system path.
The sources in this workspace should be compiled using JDK 6.0. In order to allow
this, you must ensure that JDK 6.0 is present in your system path and the
JAVA_HOME environment variable is setup correctly pointing to its location. The
target JDK is set to 1.5.
Please see this URL for the latest instructions on how to compile OpenSSO:
The above URL provides a convenient ZIP file of all the needed dependencies below.
%% 2. Library dependencies
The OpenSSO sources depend upon a few third-party libraries that are not
included as a part of the workspace and must be obtained directly from
the library vendor or distributor. Some of these libraries are available in
source distribution form and must be built locally before they can be used.
The libraries needed for compiling OpenSSO sources are:
- SUN shared library jars: jaxb-api.jar, jaxb-impl.jar,
- TestNG version 5.9 : testng-5.9-jdk15.jar
- Secure Attribute Exchange API: fmsae.dll and fmsae64.dll
- Open Message Queue: mq4_4-v2-AIX.zip,mq4_4-v2-Linux_X86.zip,
- Apache Commons Codec: commons-codec-1.4.jar
- OpenDS 2.3.x distribution ZIP file
Once these libraries are available, they should be placed under the
"opensso/products/extlib" directory of your workspace. Any library placed
in this directory is automatically included in the classpath during the
compilation phase of the build process.
The following subsections briefly describe how these libraries may be
obtained. (Please note as mentioned earlier all needed libraries are available
in a single download by visiting this page:
These instructions are provided for your convenience only and
are not intended to replace or invalidate the procedures/guidelines set
by the library vendor or distributor for obtaining those libraries. Before
you follow these instructions, you must agree to abide by any terms and
conditions set forth by the library vendor or distributor. In case any of
these instructions are in contradiction to such terms or conditions, you
must disregard those instructions and instead follow the ones provided by
the library vendor or distributor in accordance with their terms and
conditions.
Follow these steps to obtain the J2EE SDK:
2.1.1 Open the web page: http://java.sun.com/javaee/downloads/index.jsp
2.1.2 Depending on your choice of platform, you may choose to download any
one of the three distribution types available under Java EE 5 SDK
Update 1.
2.1.3 Extract or extract and install the downloaded file as necessary to
have the SDK available on your system.
Once the J2EE SDK is installed, you can get the javaee.jar and mail.jar from
the lib directory of this SDK. You must rename javaee.jar to j2ee.jar when
copying it to the "opensso/products/extlib" directory of your workspace.
%% 2.2 Obtaining SUN shared library jars
Those libraries can be obtained by downloading opensso-sun-extlib.zip from
Extract the zip, you can get all those shared library jars.
%% 2.3 Obtaining testng-5.9-jdk15.jar
Download testng-5.9.zip from http://testng.org/testng-5.9.zip; unzip it and
testng-5.9-jdk15.jar in the base directory.
%% 2.4 Obtaining fmsae.dll, fmsae64.dll and agent-cdsk
Download opensso.zip from
Save the zip file locally, unzip it, then get fmsae.dll and fmsae64.dll from
libraries/native/dll and copy it into the opensso/products/extlib directory
in your workspace. Copy the agent-csdk subdirectory, and contents from
2.5.1 Open the web page: https://mq.dev.java.net/downloads.html
2.5.2 Depending on your choice of platform, you may choose to download any
one of the available distribution types available under Open MQ 4.4
Binary Downloads.
| (Open Message Queue binaries for x86 linux)
|
| (Open Message Queue binaries for x86 Solaris)
|
| (Open Message Queue binaries for sparc Solaris)
|
| (Open Message Queue binaries for Windows)
|
| (Open Message Queue binaries for AIX)
2.5.3 Extract the downloaded file as necessary to get the
%% 2.6 Obtaining click-nodeps-2.3.0.jar.jar and click-extras-2.3.0.jar
2.6.1 Visit http://click.apache.org/, navigate to the maven repository
2.6.2 Download click-nodeps-2.3.0.jar from click-nodeps/2.3.0/
2.6.3 Download click-extras-2.3.0.jar from click-extras/2.3.0/
2.6.4 copy click-nodeps-2.3.0.jar to
<your workspace>/opensso/products/extlib/
2.6.5 copy click-extras-2.3.0.jar to
<your workspace>/opensso/products/extlib/
%% 2.7 Obtaining ant-contrib-1.0b3.jar
2.7.2 Under "Latest File Releases" , click on the link "Download".
You wil be brought to a page with list of ant-contrib binaries.
2.7.3 Download ant-contrib-1.0b3-bin.zip
2.7.4 Unzip this zip file in a temporary directory.
2.7.5 copy <temporary directory>/ant-contrib/ant-contrib-1.0b3.jar to
<your workspace>/opensso/products/extlib/ant-contrib-1.0b3.jar
%% 2.8 Obtaining commons-codec-1.4.jar
2.8.2 Download one of the Binary selections (e.g., 1.4.tar.gz)
2.8.3 Uncompress (and un-tar, in the case of 1.4.tar.gz) the file in
a temporary directory.
2.8.4 Find the commons-codec-1.4.jar file and copy it to
<your workspace>/opensso/products/extlib/commons-codec-1.4.jar
%% 2.9 Obtaining jsr311-api-1.1.jar
2.9.1 Download from
%% 2.10 Obtaining jstl.jar
2.10.1 Download from
%% 2.11 Obtaining jsf.jar, jsf-impl.jar
2.11.1 Download
2.11.2 Unzip it and the jars are in lib directory.
%% 2.12 Obtaining opendj.zip
2.12.1 Download the latest OpenDJ 2.4.x from
2.12.2 Change to the opensso/products/opends directory
2.12.3 Unzip the OpenDJ zip file
2.12.5 Run the create_opendj_zip.sh script (ensure the script has the execute permission set)
2.12.6 Copy the opendj.zip into the products/extlib directory
%% 2.13 Obtaining log4j-1.2.8.jar
2.13.1 Download from
%% 2.14 Obtaining velocity-1.7.jar
2.14.1 Download from
%% 2.15 Obtaining commons-io 2.0.1
2.15.1 Download from
%% 2.16 Obtaining commons-lang 2.5
2.16.1 Download from
%% 2.17 Obtaining ognl 2.6.9
2.17.1 Download from
%% 2.18 Obtaining OpenDMK
2.18.1 Download OpenDMK 1.0-b02 Full binary bundle from
2.18.2 Install OpenDMK by issuing the following command
2.18.3 Copy jdmkrt.jar and jdmktk.jar from <install dir>/lib dierctory
to <workspace>/opensso/products/extlib
%% 3. Building the workspace
The workspace build system offers many build targets. You can view the
available targets by issuing the ant command from the root of the
workspace. The default target that is executed is the usage target which
displays a brief description about the other targets. Currently the main
targets available in the workspace are:
- clean : deletes the generated files
- cvsdiff : generates diffs under diffs subdirectory
- nightly : performs nightly builds for all products
- server-war : builds the OpenAM WAR file
- server-tools : builds the OpenAM admin tools
- server-nightly : performs nightly builds for server products
- agents-nightly : performs nightly builds for agents products
- usage : displays this usage message
%% 3.1 clean target
Removes build output directories and generated files.
%% 3.2 cvsdiff target
Generates diffs using the cvs command, which are suitable for creating a patch.
Note that OpenAM uses Subversion, not CVS, for the source repository.
%% 3.3 nightly target
Runs server-nightly and agents-nightly targets.
%% 3.4 server-war target
Builds OpenAM, leaving the war files in amserver/built/dist/.
%% 3.5 server-tools target
Builds the OpenAM tools, leaving the zip files in amserver/built/dist/.
%% 3.6 server-nightly target
Builds and packages servers, tools, docs, and samples in built/dist/.
%% 3.7 agents-nightly target
Builds and packages Java EE policy agents in built/dist/.
%% 3.8 usage target
Displays the list of targets.