From a7b74832745d9ddd601fda29884165d3f5fb3b80 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Wed, 18 Nov 2015 12:06:05 +0000
Subject: [PATCH] OPENDJ-822 Create an OpenDJ SDK BOM

---
 opendj-sdk/opendj-rest2ldap/pom.xml              |    3 
 opendj-sdk/opendj-sdk-parent/pom.xml             |  409 +++++++++++++++++++++++++++++
 opendj-sdk/opendj-copyright-maven-plugin/pom.xml |    2 
 opendj-sdk/opendj-doc-maven-plugin/pom.xml       |    2 
 opendj-sdk/opendj-ldap-sdk-examples/pom.xml      |    3 
 opendj-sdk/opendj-ldap-toolkit/pom.xml           |    6 
 opendj-sdk/pom.xml                               |  386 ++-------------------------
 opendj-sdk/opendj-core/pom.xml                   |    2 
 opendj-sdk/opendj-grizzly/pom.xml                |    6 
 opendj-sdk/opendj-cli/pom.xml                    |    4 
 10 files changed, 455 insertions(+), 368 deletions(-)

diff --git a/opendj-sdk/opendj-cli/pom.xml b/opendj-sdk/opendj-cli/pom.xml
index acc92b9..dac9b76 100644
--- a/opendj-sdk/opendj-cli/pom.xml
+++ b/opendj-sdk/opendj-cli/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
     <artifactId>opendj-cli</artifactId>
     <name>OpenDJ CLI API</name>
@@ -42,14 +43,12 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
             <type>test-jar</type>
-            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
 
@@ -61,7 +60,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/opendj-sdk/opendj-copyright-maven-plugin/pom.xml b/opendj-sdk/opendj-copyright-maven-plugin/pom.xml
index 457bcb7..1df4185 100644
--- a/opendj-sdk/opendj-copyright-maven-plugin/pom.xml
+++ b/opendj-sdk/opendj-copyright-maven-plugin/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-copyright-maven-plugin</artifactId>
@@ -80,7 +81,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/opendj-sdk/opendj-core/pom.xml b/opendj-sdk/opendj-core/pom.xml
index 4092ff3..58609b9 100644
--- a/opendj-sdk/opendj-core/pom.xml
+++ b/opendj-sdk/opendj-core/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-core</artifactId>
@@ -67,7 +68,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/opendj-sdk/opendj-doc-maven-plugin/pom.xml b/opendj-sdk/opendj-doc-maven-plugin/pom.xml
index b9a5ef0..ec08900 100644
--- a/opendj-sdk/opendj-doc-maven-plugin/pom.xml
+++ b/opendj-sdk/opendj-doc-maven-plugin/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-doc-maven-plugin</artifactId>
@@ -47,7 +48,6 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
diff --git a/opendj-sdk/opendj-grizzly/pom.xml b/opendj-sdk/opendj-grizzly/pom.xml
index a512188..11b6577 100644
--- a/opendj-sdk/opendj-grizzly/pom.xml
+++ b/opendj-sdk/opendj-grizzly/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-grizzly</artifactId>
@@ -40,6 +41,8 @@
     <packaging>bundle</packaging>
 
     <properties>
+        <grizzly-framework.version>2.3.14</grizzly-framework.version>
+
         <opendj.osgi.import.additional>
             org.forgerock.opendj.*;provide:=true
         </opendj.osgi.import.additional>
@@ -49,14 +52,12 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
             <type>test-jar</type>
-            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
 
@@ -79,7 +80,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/opendj-sdk/opendj-ldap-sdk-examples/pom.xml b/opendj-sdk/opendj-ldap-sdk-examples/pom.xml
index 3535b14..a86f700 100644
--- a/opendj-sdk/opendj-ldap-sdk-examples/pom.xml
+++ b/opendj-sdk/opendj-ldap-sdk-examples/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-ldap-sdk-examples</artifactId>
@@ -41,13 +42,11 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-grizzly</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
diff --git a/opendj-sdk/opendj-ldap-toolkit/pom.xml b/opendj-sdk/opendj-ldap-toolkit/pom.xml
index e9b8b09..e488f9c 100644
--- a/opendj-sdk/opendj-ldap-toolkit/pom.xml
+++ b/opendj-sdk/opendj-ldap-toolkit/pom.xml
@@ -31,6 +31,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-ldap-toolkit</artifactId>
@@ -43,13 +44,11 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-grizzly</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
@@ -70,13 +69,11 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-cli</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
@@ -84,7 +81,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/opendj-sdk/opendj-rest2ldap/pom.xml b/opendj-sdk/opendj-rest2ldap/pom.xml
index dcca48b..2c69d28 100644
--- a/opendj-sdk/opendj-rest2ldap/pom.xml
+++ b/opendj-sdk/opendj-rest2ldap/pom.xml
@@ -22,6 +22,7 @@
         <artifactId>opendj-sdk-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../opendj-sdk-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>opendj-rest2ldap</artifactId>
@@ -43,7 +44,6 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-core</artifactId>
-            <version>${project.version}</version>
         </dependency>
 
         <dependency>
@@ -59,7 +59,6 @@
         <dependency>
             <groupId>org.forgerock</groupId>
             <artifactId>forgerock-build-tools</artifactId>
-            <version>${forgerock-build-tools.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/opendj-sdk/opendj-sdk-parent/pom.xml b/opendj-sdk/opendj-sdk-parent/pom.xml
new file mode 100644
index 0000000..7f931c9
--- /dev/null
+++ b/opendj-sdk/opendj-sdk-parent/pom.xml
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ! CDDL HEADER START
+  !
+  ! The contents of this file are subject to the terms of the
+  ! Common Development and Distribution License, Version 1.0 only
+  ! (the "License").  You may not use this file except in compliance
+  ! with the License.
+  !
+  ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
+  ! or http://forgerock.org/license/CDDLv1.0.html.
+  ! See the License for the specific language governing permissions
+  ! and limitations under the License.
+  !
+  ! When distributing Covered Code, include this CDDL HEADER in each
+  ! file and include the License file at legal-notices/CDDLv1_0.txt.
+  ! If applicable, add the following below this CDDL HEADER, with the
+  ! fields enclosed by brackets "[]" replaced with your own identifying
+  ! information:
+  !      Portions Copyright [yyyy] [name of copyright owner]
+  !
+  ! CDDL HEADER END
+  !
+  !      Copyright 2011-2015 ForgeRock AS.
+  !
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.forgerock.opendj</groupId>
+        <artifactId>opendj-sdk-bom</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-sdk-parent</artifactId>
+
+    <packaging>pom</packaging>
+
+    <name>OpenDJ SDK Parent</name>
+    <description>
+        This group module provides a complete LDAP SDK for developing LDAP Directory client and server applications.
+    </description>
+
+
+    <modules>
+        <module>../opendj-copyright-maven-plugin</module>
+        <module>../opendj-doc-maven-plugin</module>
+        <module>../opendj-core</module>
+        <module>../opendj-grizzly</module>
+        <module>../opendj-cli</module>
+        <module>../opendj-ldap-toolkit</module>
+        <module>../opendj-ldap-sdk-examples</module>
+        <module>../opendj-rest2ldap</module>
+    </modules>
+
+    <properties>
+        <forgerock-build-tools.version>1.0.2</forgerock-build-tools.version>
+        <forgerock-doc-plugin.version>3.1.0</forgerock-doc-plugin.version>
+
+        <!-- OSGi bundles properties -->
+        <opendj.osgi.import.additional />
+        <!--
+         | Use provide:=true to disallow mixing OpenDJ and ForgeRock resource versions.
+         | it change the version policy from == + to == =+  [2.0,3) [2.0,2.1)
+        -->
+        <opendj.osgi.import>
+            ${opendj.osgi.import.additional},
+            *
+        </opendj.osgi.import>
+
+        <checkstyleHeaderLocation>org/forgerock/checkstyle/opendj-java-header</checkstyleHeaderLocation>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <!-- ForgeRock BOM -->
+            <dependency>
+                <groupId>org.forgerock.commons</groupId>
+                <artifactId>forgerock-bom</artifactId>
+                <version>1.0.0</version>
+                <scope>import</scope>
+                <type>pom</type>
+            </dependency>
+
+            <!-- Commons -->
+            <dependency>
+                <groupId>org.forgerock</groupId>
+                <artifactId>forgerock-build-tools</artifactId>
+                <version>${forgerock-build-tools.version}</version>
+                <scope>test</scope>
+            </dependency>
+
+            <!-- OpenDJ SDK -->
+            <dependency>
+                <groupId>org.forgerock.opendj</groupId>
+                <artifactId>opendj-core</artifactId>
+                <type>test-jar</type>
+                <version>${project.version}</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>org.easytesting</groupId>
+            <artifactId>fest-assert</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-jdk14</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.forgerock.maven.plugins</groupId>
+                <artifactId>javadoc-updater-maven-plugin</artifactId>
+                <version>1.0.0</version>
+                <executions>
+                    <execution>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>fixjavadoc</goal>
+                        </goals>
+                        <configuration>
+                            <directory>${project.reporting.outputDirectory}</directory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.forgerock.opendj</groupId>
+                    <artifactId>opendj-copyright-maven-plugin</artifactId>
+                    <version>${project.version}</version>
+                    <configuration>
+                        <!-- Disable copyright on README and legal files -->
+                        <disabledFiles>
+                            <disabledFile>README</disabledFile>
+                            <disabledFile>**/README</disabledFile>
+                            <disabledFile>README.txt</disabledFile>
+                            <disabledFile>**/README.txt</disabledFile>
+                            <disabledFile>**/THIRDPARTYREADME.txt</disabledFile>
+                            <disabledFile>legal-notices/CDDLv1_0.txt</disabledFile>
+                        </disabledFiles>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.forgerock.opendj</groupId>
+                    <artifactId>opendj-doc-maven-plugin</artifactId>
+                    <version>${project.version}</version>
+                </plugin>
+
+                <plugin>
+                    <inherited>true</inherited>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <configuration>
+                        <source>1.7</source>
+                        <target>1.7</target>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <argLine>-server</argLine>
+                        <properties>
+                            <property>
+                                <name>usedefaultlisteners</name>
+                                <value>false</value>
+                            </property>
+                            <property>
+                                <name>listener</name>
+                                <value>org.forgerock.testng.ForgeRockTestListener</value>
+                            </property>
+                        </properties>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>2.3.7</version>
+                    <extensions>true</extensions>
+                    <configuration>
+                        <instructions>
+                            <!--
+                            | Remove the by default removed headers plus some other to make cleaner the generated MANIFEST.MF
+                            -->
+                            <_removeheaders>
+                                Bnd-LastModified,Built-By,Private-Package,Tool,Created-By,Build-Jdk,Include-Resource,
+                                Ignore-Package,Private-Package,Bundle-DocURL
+                            </_removeheaders>
+                            <Import-Package>${opendj.osgi.import}</Import-Package>
+                        </instructions>
+                        <archive>
+                            <addMavenDescriptor>false</addMavenDescriptor>
+                            <index>true</index>
+                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                        </archive>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <configuration>
+                        <links>
+                            <link>http://commons.forgerock.org/i18n-framework/i18n-core/apidocs</link>
+                        </links>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>jar</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <configuration>
+                        <locales>en</locales>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.forgerock.commons</groupId>
+                    <artifactId>i18n-maven-plugin</artifactId>
+                    <version>${i18n-framework.version}</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>cobertura-maven-plugin</artifactId>
+                    <configuration>
+                        <instrumentation>
+                            <excludes>
+                                <exclude>**/*Messages.class</exclude>
+                            </excludes>
+                        </instrumentation>
+                    </configuration>
+                </plugin>
+
+                <!-- This is needed to use annotations in maven plugins with maven 3.0.x -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-plugin-plugin</artifactId>
+                    <version>3.2</version>
+                    <configuration>
+                        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>mojo-descriptor</id>
+                            <phase>process-classes</phase>
+                            <goals>
+                                <goal>descriptor</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Provides build capabilities for docs in DocBook XML format. -->
+                <plugin>
+                    <groupId>org.forgerock.commons</groupId>
+                    <artifactId>forgerock-doc-maven-plugin</artifactId>
+                    <version>${forgerock-doc-plugin.version}</version>
+                    <configuration>
+                        <projectName>OpenDJ</projectName>
+                        <projectVersion>${project.version}</projectVersion>
+                        <releaseVersion>${project.version}</releaseVersion>
+                        <googleAnalyticsId>UA-23412190-8</googleAnalyticsId>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <version>2.4</version>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>index</report>
+                            <report>mailing-list</report>
+                            <report>issue-tracking</report>
+                            <report>license</report>
+                            <report>scm</report>
+                            <report>cim</report>
+                            <report>distribution-management</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+
+
+    <profiles>
+        <profile>
+            <id>precommit</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.forgerock.opendj</groupId>
+                        <artifactId>opendj-copyright-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>check-copyright</id>
+                                <goals>
+                                    <goal>check-copyright</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+
+        <profile>
+            <id>update-copyrights</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.forgerock.opendj</groupId>
+                        <artifactId>opendj-copyright-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>check-copyright</id>
+                                <phase>none</phase>
+                                <goals>
+                                    <goal>check-copyright</goal>
+                                </goals>
+                            </execution>
+                            <execution>
+                                <id>update-copyright</id>
+                                <goals>
+                                    <goal>update-copyright</goal>
+                                </goals>
+                                <configuration>
+                                    <!-- We need to accept the second part of the following regular
+                                       ! expression for submodules:
+                                       ! * opendj-rest2ldap
+                                       !
+                                       ! Please note that the regexp
+                                       !  '\"Portions Copyright \[year\] \[name of copyright owner\]\"'
+                                       ! must never be found before 'CDDL HEADER END' in other submodules,
+                                       ! otherwise the plugin will fail.
+                                     -->
+                                    <lineBeforeCopyrightRegExp>
+                                        (CDDL HEADER END|\"Portions Copyright \[year\] \[name of copyright owner\]\")
+                                    </lineBeforeCopyrightRegExp>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/opendj-sdk/pom.xml b/opendj-sdk/pom.xml
index 80c317c..3f52558 100644
--- a/opendj-sdk/pom.xml
+++ b/opendj-sdk/pom.xml
@@ -21,27 +21,30 @@
   !
   ! CDDL HEADER END
   !
-  !      Copyright 2011-2015 ForgeRock AS.
+  !      Copyright 2015 ForgeRock AS.
   !
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.forgerock</groupId>
         <artifactId>forgerock-parent</artifactId>
         <version>2.0.3</version>
     </parent>
 
+    <modelVersion>4.0.0</modelVersion>
+
     <groupId>org.forgerock.opendj</groupId>
-    <artifactId>opendj-sdk-parent</artifactId>
+    <artifactId>opendj-sdk-bom</artifactId>
     <version>3.0.0-SNAPSHOT</version>
 
     <packaging>pom</packaging>
 
-    <name>OpenDJ LDAP SDK</name>
-    <description>
-        This group module provides a complete LDAP SDK for developing LDAP Directory client and server applications.
+    <name>OpenDJ SDK BOM</name>
+    <description>OpenDJ BOM.
+        Provides a list of OpenDJ dependencies
+        which are known to be compatible with each other.
     </description>
     <inceptionYear>2011</inceptionYear>
     <url>http://opendj.forgerock.org</url>
@@ -73,7 +76,7 @@
         <url>https://stash.forgerock.org/projects/OPENDJ/repos/opendj-sdk/browse</url>
         <connection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-sdk.git</connection>
         <developerConnection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-sdk.git</developerConnection>
-      <tag>HEAD</tag>
+        <tag>HEAD</tag>
     </scm>
 
     <ciManagement>
@@ -95,7 +98,7 @@
         <site>
             <id>forgerock.org</id>
             <name>OpenDJ Community</name>
-            <url>${siteDistributionURL}</url>
+            <url>${site.distribution.url}</url>
         </site>
     </distributionManagement>
 
@@ -115,7 +118,7 @@
         <repository>
             <id>forgerock-staging-repository</id>
             <name>ForgeRock Release Repository</name>
-            <url>http://maven.forgerock.org/repo/releases</url>
+            <url>${maven.releases.repo.url}</url>
             <snapshots>
                 <enabled>false</enabled>
             </snapshots>
@@ -124,7 +127,7 @@
         <repository>
             <id>forgerock-snapshots-repository</id>
             <name>ForgeRock Snapshot Repository</name>
-            <url>http://maven.forgerock.org/repo/snapshots</url>
+            <url>${maven.snapshots.repo.url}</url>
             <releases>
                 <enabled>false</enabled>
             </releases>
@@ -143,317 +146,64 @@
     </repositories>
 
     <modules>
-        <module>opendj-copyright-maven-plugin</module>
-        <module>opendj-doc-maven-plugin</module>
-        <module>opendj-core</module>
-        <module>opendj-grizzly</module>
-        <module>opendj-cli</module>
-        <module>opendj-ldap-toolkit</module>
-        <module>opendj-ldap-sdk-examples</module>
-        <module>opendj-rest2ldap</module>
+        <module>opendj-sdk-parent</module>
     </modules>
 
     <properties>
-        <mavenRepoSnapshots>http://maven.forgerock.org/repo/snapshots</mavenRepoSnapshots>
-        <mavenRepoReleases>http://maven.forgerock.org/repo/releases</mavenRepoReleases>
+        <maven.snapshots.repo.url>http://maven.forgerock.org/repo/snapshots</maven.snapshots.repo.url>
+        <maven.releases.repo.url>http://maven.forgerock.org/repo/releases</maven.releases.repo.url>
 
-        <forgerock-build-tools.version>1.0.2</forgerock-build-tools.version>
+        <site.distribution.url>
+            scp://community.internal.forgerock.com/var/www/vhosts/opendj.forgerock.org/httpdocs
+        </site.distribution.url>
+
+        <opendj.sdk.version>3.0.0-SNAPSHOT</opendj.sdk.version>
         <i18n-framework.version>1.4.2</i18n-framework.version>
-        <grizzly-framework.version>2.3.14</grizzly-framework.version>
-        <forgerock-doc-plugin.version>3.1.0</forgerock-doc-plugin.version>
-
-        <!-- OSGi bundles properties -->
-        <opendj.osgi.import.additional />
-        <!--
-         | Use provide:=true to disallow mixing OpenDJ and ForgeRock resource versions.
-         | it change the version policy from == + to == =+  [2.0,3) [2.0,2.1)
-        -->
-        <opendj.osgi.import>
-            ${opendj.osgi.import.additional},
-            *
-        </opendj.osgi.import>
-
-        <checkstyleHeaderLocation>org/forgerock/checkstyle/opendj-java-header</checkstyleHeaderLocation>
-
-        <siteDistributionURL>scp://community.internal.forgerock.com/var/www/vhosts/opendj.forgerock.org/httpdocs
-        </siteDistributionURL>
     </properties>
 
     <dependencyManagement>
         <dependencies>
-            <!-- Commons -->
-            <dependency>
-                <groupId>org.forgerock.commons</groupId>
-                <artifactId>forgerock-bom</artifactId>
-                <version>1.0.0</version>
-                <scope>import</scope>
-                <type>pom</type>
-            </dependency>
-            <dependency>
-                <groupId>org.forgerock</groupId>
-                <artifactId>forgerock-build-tools</artifactId>
-                <version>${forgerock-build-tools.version}</version>
-                <scope>test</scope>
-            </dependency>
-
             <!-- I18N framework -->
             <dependency>
                 <groupId>org.forgerock.commons</groupId>
                 <artifactId>i18n-core</artifactId>
                 <version>${i18n-framework.version}</version>
             </dependency>
+
             <dependency>
                 <groupId>org.forgerock.commons</groupId>
                 <artifactId>i18n-slf4j</artifactId>
                 <version>${i18n-framework.version}</version>
             </dependency>
 
+
             <!-- OpenDJ SDK -->
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
+                <artifactId>opendj-core</artifactId>
+                <version>${opendj.sdk.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-cli</artifactId>
-                <version>${project.version}</version>
+                <version>${opendj.sdk.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.forgerock.opendj</groupId>
-                <artifactId>opendj-core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.forgerock.opendj</groupId>
-                <artifactId>opendj-core</artifactId>
-                <type>test-jar</type>
-                <version>${project.version}</version>
-                <scope>test</scope>
-            </dependency>
+
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-grizzly</artifactId>
-                <version>${project.version}</version>
+                <version>${opendj.sdk.version}</version>
             </dependency>
+
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-rest2ldap</artifactId>
-                <version>${project.version}</version>
+                <version>${opendj.sdk.version}</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
 
-
-    <dependencies>
-        <dependency>
-            <groupId>org.easytesting</groupId>
-            <artifactId>fest-assert</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-jdk14</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.forgerock.maven.plugins</groupId>
-                <artifactId>javadoc-updater-maven-plugin</artifactId>
-                <version>1.0.0</version>
-                <executions>
-                    <execution>
-                        <phase>site</phase>
-                        <goals>
-                            <goal>fixjavadoc</goal>
-                        </goals>
-                        <configuration>
-                            <directory>${project.reporting.outputDirectory}</directory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.forgerock.opendj</groupId>
-                    <artifactId>opendj-copyright-maven-plugin</artifactId>
-                    <version>${project.version}</version>
-                    <configuration>
-                        <!-- Disable copyright on README and legal files -->
-                        <disabledFiles>
-                            <disabledFile>README</disabledFile>
-                            <disabledFile>**/README</disabledFile>
-                            <disabledFile>README.txt</disabledFile>
-                            <disabledFile>**/README.txt</disabledFile>
-                            <disabledFile>**/THIRDPARTYREADME.txt</disabledFile>
-                            <disabledFile>legal-notices/CDDLv1_0.txt</disabledFile>
-                        </disabledFiles>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.forgerock.opendj</groupId>
-                    <artifactId>opendj-doc-maven-plugin</artifactId>
-                    <version>${project.version}</version>
-                </plugin>
-
-                <plugin>
-                    <inherited>true</inherited>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <configuration>
-                        <source>1.7</source>
-                        <target>1.7</target>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <configuration>
-                        <argLine>-server</argLine>
-                        <properties>
-                            <property>
-                                <name>usedefaultlisteners</name>
-                                <value>false</value>
-                            </property>
-                            <property>
-                                <name>listener</name>
-                                <value>org.forgerock.testng.ForgeRockTestListener</value>
-                            </property>
-                        </properties>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>maven-bundle-plugin</artifactId>
-                    <version>2.3.7</version>
-                    <extensions>true</extensions>
-                    <configuration>
-                        <instructions>
-                            <!--
-                            | Remove the by default removed headers plus some other to make cleaner the generated MANIFEST.MF
-                            -->
-                            <_removeheaders>
-                                Bnd-LastModified,Built-By,Private-Package,Tool,Created-By,Build-Jdk,Include-Resource,
-                                Ignore-Package,Private-Package,Bundle-DocURL
-                            </_removeheaders>
-                            <Import-Package>${opendj.osgi.import}</Import-Package>
-                        </instructions>
-                        <archive>
-                            <addMavenDescriptor>false</addMavenDescriptor>
-                            <index>true</index>
-                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                        </archive>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-javadoc-plugin</artifactId>
-                    <configuration>
-                        <links>
-                            <link>http://commons.forgerock.org/i18n-framework/i18n-core/apidocs</link>
-                        </links>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-source-plugin</artifactId>
-                    <executions>
-                        <execution>
-                            <goals>
-                                <goal>jar</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-site-plugin</artifactId>
-                    <configuration>
-                        <locales>en</locales>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.forgerock.commons</groupId>
-                    <artifactId>i18n-maven-plugin</artifactId>
-                    <version>${i18n-framework.version}</version>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>cobertura-maven-plugin</artifactId>
-                    <configuration>
-                        <instrumentation>
-                            <excludes>
-                                <exclude>**/*Messages.class</exclude>
-                            </excludes>
-                        </instrumentation>
-                    </configuration>
-                </plugin>
-
-                <!-- This is needed to use annotations in maven plugins with maven 3.0.x -->
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-plugin-plugin</artifactId>
-                    <version>3.2</version>
-                    <configuration>
-                        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
-                    </configuration>
-                    <executions>
-                        <execution>
-                            <id>mojo-descriptor</id>
-                            <phase>process-classes</phase>
-                            <goals>
-                                <goal>descriptor</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-
-                <!-- Provides build capabilities for docs in DocBook XML format. -->
-                <plugin>
-                    <groupId>org.forgerock.commons</groupId>
-                    <artifactId>forgerock-doc-maven-plugin</artifactId>
-                    <version>${forgerock-doc-plugin.version}</version>
-                    <configuration>
-                        <projectName>OpenDJ</projectName>
-                        <projectVersion>${project.version}</projectVersion>
-                        <releaseVersion>${project.version}</releaseVersion>
-                        <googleAnalyticsId>UA-23412190-8</googleAnalyticsId>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-
     <reporting>
         <plugins>
             <plugin>
@@ -476,68 +226,4 @@
             </plugin>
         </plugins>
     </reporting>
-
-
-    <profiles>
-        <profile>
-            <id>precommit</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.forgerock.opendj</groupId>
-                        <artifactId>opendj-copyright-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>check-copyright</id>
-                                <goals>
-                                    <goal>check-copyright</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <profile>
-            <id>update-copyrights</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.forgerock.opendj</groupId>
-                        <artifactId>opendj-copyright-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>check-copyright</id>
-                                <phase>none</phase>
-                                <goals>
-                                    <goal>check-copyright</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>update-copyright</id>
-                                <goals>
-                                    <goal>update-copyright</goal>
-                                </goals>
-                                <configuration>
-                                    <!-- We need to accept the second part of the following regular
-                                       ! expression for submodules:
-                                       ! * opendj-rest2ldap
-                                       !
-                                       ! Please note that the regexp
-                                       !  '\"Portions Copyright \[year\] \[name of copyright owner\]\"'
-                                       ! must never be found before 'CDDL HEADER END' in other submodules,
-                                       ! otherwise the plugin will fail.
-                                     -->
-                                    <lineBeforeCopyrightRegExp>
-                                        (CDDL HEADER END|\"Portions Copyright \[year\] \[name of copyright owner\]\")
-                                    </lineBeforeCopyrightRegExp>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
 </project>

--
Gitblit v1.10.0