Overview
Starting with release 2.1, Project OpenPTK uses maven for it's build process. The ant process has been removed. Follow these steps to prepare your development environment. When your development environment is connected to the Internet, the Maven facility will download the dependent JAR files and place them in your local Maven repository. By default, the Maven process will create / update the developer's Maven local repository located in the .m2 directory in the user Home location.
NOTICE: |
The maven install will run tests, by default. There may be situations where the tests can fail. The crypto class tests will fail if the JDK does not support all of the cryptographic functions. Use the -DskipTests argument and maven will not run the tests.
|
Install / Test Maven
Open a terminal and determine if Maven is installed by trying the mvn --version command. If it's installed you will see output similar to this (the output below is from Apple Mac OS X):
If you do not have Maven installed, you can start with this web site to download Maven for your system:
Installing non-Maven JARs
NOTICE: |
These JAR files and related local Maven repository entries are only needed if your deployment is using their related OpenPTK Service. You can skip this section if none of these OpenPTK Services are being used.
|
There are a number of packages that depend on JAR files which are not available in the on-line Maven repositories.
These situations will require the local JAR files to be added to the developer's local Maven repository. The table below provides details for the instructions for each of these scenarios.
Service Specific Maven Configuration
Before building any of the profiles, build and install the "root" openptk package. This is used by the other packages as their "parent". Issue this command from the directory containing the top level pom.xml file:
The Maven pom.xml file has been configured to build the main features using "profiles". The Profiles include the following categories :
- Server
- Applications
- Samples
- Services
Run the mvn help:all-profiles to list the configured profiles:
mvn help:all-profiles
...
[INFO] Listing Profiles for Project: org.openptk:openptk:pom:2.1-SNAPSHOT
Profile Id: server (Active: false , Source: pom)
Profile Id: srvc-derby (Active: false , Source: pom)
Profile Id: srvc-jndi (Active: false , Source: pom)
Profile Id: srvc-mysql (Active: false , Source: pom)
Profile Id: srvc-oim10g (Active: false , Source: pom)
Profile Id: srvc-oim11g (Active: false , Source: pom)
Profile Id: srvc-oracledb (Active: false , Source: pom)
Profile Id: srvc-spml (Active: false , Source: pom)
Profile Id: srvc-spml2 (Active: false , Source: pom)
Profile Id: srvc-unboundid (Active: false , Source: pom)
Profile Id: app-cli (Active: false , Source: pom)
Profile Id: app-identitycentral (Active: false , Source: pom)
Profile Id: app-portlets (Active: false , Source: pom)
Profile Id: app-register (Active: false , Source: pom)
Profile Id: app-soapws (Active: false , Source: pom)
Profile Id: app-usermgmtlite (Active: false , Source: pom)
Profile Id: sample-auth (Active: false , Source: pom)
Profile Id: sample-client (Active: false , Source: pom)
Profile Id: sample-framework (Active: false , Source: pom)
Profile Id: sample-taglib (Active: false , Source: pom)
Note:
|
The first time the Maven commands are run, they will download dependencies to the local repository |
The examples below reference the home directory for the OpenPTK as $OPENPTK_HOME
Server
When the server profile is used, a service is NOT automatically integrated into the build process. The necessary services need to included in the profile list. See the following syntax for building the server.
mvn install -P server,[service1,service2,serviceN]
To build the
server that uses the embedded derby service:
mvn install -P server,srvc-derby
To build the
server that uses the derby, mysql and jndi service:
mvn install -P server,srvc-derby,srvc-mysql,srvc-jndi
After the build completes, the war file will be in the ./projects/OpenPTK/Server/target directory and named openptk-server.war
Applications
cd $OPENPTK_HOME/projects/Apps/CLI
mvn assembly:assembly
The openptk-cli-bin.zip file will be saved in:
$OPENPTK_HOME/projects/Apps/CLI/target
Identity Central
cd $OPENPTK_HOME
mvn install -P app-identitycentral
The war file will be saved in:
$OPENPTK_HOME/projects/OpenPTK/Apps/IdentityCentral/target
cd $OPENPTK_HOME
mvn install -P app-portlets
The war file will be saved in:
$OPENPTK_HOME/projects/OpenPTK/Apps/Portlets/target
cd $OPENPTK_HOME
mvn install -P app-register
The war file will be saved in:
$OPENPTK_HOME/projects/OpenPTK/Apps/Register/target
cd $OPENPTK_HOME
mvn install -P app-soapws
The war file will be saved in:
$OPENPTK_HOME/projects/OpenPTK/Apps/SOAP-WS/target
cd $OPENPTK_HOME
mvn install -P app-usermgmtlite
The war file will be saved in:
$OPENPTK_HOME/projects/OpenPTK/Apps/UserManagementLite/target
Samples
cd $OPENPTK_HOME
mvn install -P sample-auth
cd $OPENPTK_HOME
mvn install -P sample-client
Framework APIs (internal server-side)
cd $OPENPTK_HOME
mvn install -P sample-framework
cd $OPENPTK_HOME
mvn install -P sample-taglib
Derby Database (embedded)
mvn install -P srvc-derby
mvn install -P srvc-mysql
Oracle Identity Manager 10g
mvn install -P srvc-oim10g
Oracle Identity Manager 11g
mvn install -P srvc-oim11g
mvn install -P srvc-oracledb
mvn install -P srvc-spml2
mvn install -P srvc-unboundid
|
|