From e6c513bb9c6a39c8f03b05bdc9ecdc1f23a543b1 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 07 Apr 2016 14:51:26 +0000
Subject: [PATCH] OPENDJ-2768 merge OpenDJ SDK, packaging, and manual pages sources with server

---
 opendj-rest2ldap-servlet/pom.xml                       |    4 
 opendj-legacy/pom.xml                                  |    4 
 opendj-packages/pom.xml                                |  166 ++------
 opendj-packages/opendj-msi/opendj-msi-standard/pom.xml |  179 +++++-----
 opendj-packages/opendj-msi/pom.xml                     |   28 -
 opendj-rest2ldap/pom.xml                               |    2 
 opendj-man-pages/pom.xml                               |  104 -----
 pom.xml                                                |  444 +++++++++++++++++++++++--
 opendj-doc-maven-plugin/pom.xml                        |    2 
 opendj-packages/opendj-zip/opendj-zip-oem/pom.xml      |    4 
 opendj-server/pom.xml                                  |    4 
 opendj-ldap-sdk-examples/pom.xml                       |    2 
 opendj-dsml-servlet/pom.xml                            |    2 
 opendj-server-legacy/pom.xml                           |    6 
 opendj-grizzly/pom.xml                                 |    2 
 opendj-ldap-toolkit/pom.xml                            |    2 
 opendj-bom/pom.xml                                     |   44 ++
 opendj-maven-plugin/pom.xml                            |    4 
 opendj-packages/opendj-deb/pom.xml                     |    2 
 opendj-server-example-plugin/pom.xml                   |    2 
 opendj-config/pom.xml                                  |    2 
 opendj-core/pom.xml                                    |    4 
 opendj-cli/pom.xml                                     |    2 
 23 files changed, 599 insertions(+), 416 deletions(-)

diff --git a/opendj-sdk-bom/pom.xml b/opendj-bom/pom.xml
similarity index 70%
rename from opendj-sdk-bom/pom.xml
rename to opendj-bom/pom.xml
index 7f5d35a..fecfc78 100644
--- a/opendj-sdk-bom/pom.xml
+++ b/opendj-bom/pom.xml
@@ -25,18 +25,17 @@
     </parent>
 
     <groupId>org.forgerock.opendj</groupId>
-    <artifactId>opendj-sdk-bom</artifactId>
+    <artifactId>opendj-bom</artifactId>
     <version>4.0.0-SNAPSHOT</version>
 
     <packaging>pom</packaging>
 
-    <name>OpenDJ SDK BOM</name>
+    <name>OpenDJ BOM</name>
     <description>
-        Provides a list of OpenDJ SDK dependencies which are known to be compatible with each other.
+        Provides a list of OpenDJ dependencies which are known to be compatible with each other.
     </description>
 
     <properties>
-        <opendj.sdk.version>4.0.0-SNAPSHOT</opendj.sdk.version>
         <i18n-framework.version>1.4.2</i18n-framework.version>
     </properties>
 
@@ -69,25 +68,25 @@
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-core</artifactId>
-                <version>${opendj.sdk.version}</version>
+                <version>${project.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-cli</artifactId>
-                <version>${opendj.sdk.version}</version>
+                <version>${project.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-grizzly</artifactId>
-                <version>${opendj.sdk.version}</version>
+                <version>${project.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-rest2ldap</artifactId>
-                <version>${opendj.sdk.version}</version>
+                <version>${project.version}</version>
             </dependency>
 
             <!-- Other -->
@@ -98,4 +97,33 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
+
+    <repositories>
+        <repository>
+            <id>forgerock-staging-repository</id>
+            <name>ForgeRock Release Repository</name>
+            <url>http://maven.forgerock.org/repo/releases</url>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>forgerock-snapshots-repository</id>
+            <name>ForgeRock Snapshot Repository</name>
+            <url>http://maven.forgerock.org/repo/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+        </repository>
+        <repository>
+            <id>jvnet-nexus-snapshots</id>
+            <url>https://maven.java.net/content/repositories/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
 </project>
diff --git a/opendj-cli/pom.xml b/opendj-cli/pom.xml
index cc2362f..8d08247 100644
--- a/opendj-cli/pom.xml
+++ b/opendj-cli/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-config/pom.xml b/opendj-config/pom.xml
index 55a235e..e0e8b34 100644
--- a/opendj-config/pom.xml
+++ b/opendj-config/pom.xml
@@ -17,8 +17,8 @@
 <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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>opendj-config</artifactId>
diff --git a/opendj-core/pom.xml b/opendj-core/pom.xml
index 13077c4..8f6b393 100644
--- a/opendj-core/pom.xml
+++ b/opendj-core/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
@@ -171,7 +171,7 @@
                                     <groupId>${project.groupId}</groupId>
                                     <artifactId>opendj-ldap-sdk</artifactId>
                                     <!-- former name of this jar -->
-                                    <version>3.0.0-SNAPSHOT</version>
+                                    <version>3.0.0</version>
                                 </comparisonArtifact>
                             </comparisonArtifacts>
                             <excludes>
diff --git a/opendj-doc-maven-plugin/pom.xml b/opendj-doc-maven-plugin/pom.xml
index b60c44f..b8ed03c 100644
--- a/opendj-doc-maven-plugin/pom.xml
+++ b/opendj-doc-maven-plugin/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-dsml-servlet/pom.xml b/opendj-dsml-servlet/pom.xml
index c5a38ce..c164268 100644
--- a/opendj-dsml-servlet/pom.xml
+++ b/opendj-dsml-servlet/pom.xml
@@ -19,7 +19,7 @@
 
     <parent>
         <groupId>org.forgerock.opendj</groupId>
-        <artifactId>opendj-server-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
 
diff --git a/opendj-grizzly/pom.xml b/opendj-grizzly/pom.xml
index d684b16..fc3f640 100644
--- a/opendj-grizzly/pom.xml
+++ b/opendj-grizzly/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-ldap-sdk-examples/pom.xml b/opendj-ldap-sdk-examples/pom.xml
index 661de1a..cac147f 100644
--- a/opendj-ldap-sdk-examples/pom.xml
+++ b/opendj-ldap-sdk-examples/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-ldap-toolkit/pom.xml b/opendj-ldap-toolkit/pom.xml
index b364e21..746e249 100644
--- a/opendj-ldap-toolkit/pom.xml
+++ b/opendj-ldap-toolkit/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-legacy/pom.xml b/opendj-legacy/pom.xml
index d508748..e7c4838 100644
--- a/opendj-legacy/pom.xml
+++ b/opendj-legacy/pom.xml
@@ -12,13 +12,13 @@
   Header, with the fields enclosed by brackets [] replaced by your own identifying
   information: "Portions Copyright [year] [name of copyright owner]".
 
-  Copyright 2014-2015 ForgeRock AS.
+  Copyright 2014-2016 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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>opendj-legacy</artifactId>
diff --git a/opendj-man-pages/pom.xml b/opendj-man-pages/pom.xml
index cddbe12..62f01d0 100644
--- a/opendj-man-pages/pom.xml
+++ b/opendj-man-pages/pom.xml
@@ -18,114 +18,22 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.forgerock</groupId>
-        <artifactId>forgerock-parent</artifactId>
-        <version>2.0.4</version>
+        <groupId>org.forgerock.opendj</groupId>
+        <artifactId>opendj-parent</artifactId>
+        <version>4.0.0-SNAPSHOT</version>
     </parent>
 
-    <groupId>org.forgerock.opendj</groupId>
     <artifactId>opendj-man-pages</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
-
     <name>OpenDJ Man Pages</name>
+    <description>This module contains OpenDJ tools man pages.</description>
 
     <packaging>pom</packaging>
 
-    <description>
-        This module contains OpenDJ tools man pages.
-    </description>
-
-    <inceptionYear>2015</inceptionYear>
-    <url>http://opendj.forgerock.org</url>
-
-    <issueManagement>
-        <system>Jira</system>
-        <url>https://bugster.forgerock.org/jira/browse/OPENDJ</url>
-    </issueManagement>
-
-    <mailingLists>
-        <mailingList>
-            <name>OpenDJ Users Mailing List</name>
-            <archive>http://lists.forgerock.org/pipermail/opendj/</archive>
-            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</subscribe>
-            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</unsubscribe>
-            <post>opendj@forgerock.org</post>
-        </mailingList>
-
-        <mailingList>
-            <name>OpenDJ Developers Mailing List</name>
-            <archive>http://lists.forgerock.org/pipermail/opendj-dev/</archive>
-            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</subscribe>
-            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</unsubscribe>
-            <post>opendj-dev@forgerock.org</post>
-        </mailingList>
-    </mailingLists>
-
-    <scm>
-        <url>https://stash.forgerock.org/projects/OPENDJ/repos/opendj-man-pages/browse</url>
-        <connection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-man-pages.git</connection>
-        <developerConnection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-man-pages.git</developerConnection>
-        <tag>HEAD</tag>
-    </scm>
-
-    <ciManagement>
-        <system>jenkins</system>
-        <url>https://ci.forgerock.org/view/OpenDJ/job/OpenDJ%20-%20man-pages%20-%20postcommit</url>
-        <notifiers>
-            <notifier>
-                <type>mail</type>
-                <sendOnError>true</sendOnError>
-                <sendOnFailure>true</sendOnFailure>
-                <sendOnSuccess>false</sendOnSuccess>
-                <sendOnWarning>false</sendOnWarning>
-                <address>opendj-dev@forgerock.org</address>
-            </notifier>
-        </notifiers>
-    </ciManagement>
-
-    <repositories>
-        <repository>
-            <id>forgerock-staging-repository</id>
-            <name>ForgeRock Release Repository</name>
-            <url>http://maven.forgerock.org/repo/releases</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-
-        <repository>
-            <id>forgerock-snapshots-repository</id>
-            <name>ForgeRock Snapshot Repository</name>
-            <url>http://maven.forgerock.org/repo/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-
-        <repository>
-            <id>jvnet-nexus-snapshots</id>
-            <url>https://maven.java.net/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <properties>
-        <product.name.lowercase>opendj</product.name.lowercase>
-        <forgerock-doc-plugin.version>3.2.0</forgerock-doc-plugin.version>
-        <opendj.server.archive.version>4.0.0-SNAPSHOT</opendj.server.archive.version>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-server-legacy</artifactId>
-            <version>${opendj.server.archive.version}</version>
+            <version>${project.version}</version>
         </dependency>
     </dependencies>
 
@@ -134,7 +42,7 @@
             <plugin>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-doc-maven-plugin</artifactId>
-                <version>${opendj.server.archive.version}</version>
+                <version>${project.version}</version>
                 <executions>
                     <execution>
                         <id>generate-man-pages</id>
diff --git a/opendj-maven-plugin/pom.xml b/opendj-maven-plugin/pom.xml
index 7f800ee..70a474c 100644
--- a/opendj-maven-plugin/pom.xml
+++ b/opendj-maven-plugin/pom.xml
@@ -12,13 +12,13 @@
   Header, with the fields enclosed by brackets [] replaced by your own identifying
   information: "Portions Copyright [year] [name of copyright owner]".
 
-  Copyright 2015 ForgeRock AS.
+  Copyright 2015-2016 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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
 
diff --git a/opendj-packages/opendj-deb/pom.xml b/opendj-packages/opendj-deb/pom.xml
index fac3417..c388f4c 100644
--- a/opendj-packages/opendj-deb/pom.xml
+++ b/opendj-packages/opendj-deb/pom.xml
@@ -127,7 +127,7 @@
                             </goals>
                             <configuration>
                                 <target>
-                                    <apply executable="gzip"><!-- Must we also build these packages on Windows? -->
+                                    <apply executable="gzip" parallel="true">
                                         <arg value="-9" />
                                         <fileset dir="${manpage.dir}" />
                                     </apply>
diff --git a/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml b/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
index 4600c1e..75d3ac3 100644
--- a/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
+++ b/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
@@ -37,106 +37,97 @@
         <package.dir>${project.build.directory}/${product.name.lowercase}</package.dir>
     </properties>
 
-    <profiles>
-        <profile>
-            <id>build-msi-plugin</id>
-            <activation>
-                <os><family>windows</family></os>
-            </activation>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+            </plugin>
 
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>build-helper-maven-plugin</artifactId>
-                    </plugin>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+            </plugin>
 
-                    <plugin>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                    </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build-msi-package</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <!-- Package the Directory Server for the MSI distribution. -->
+                            <target>
+                                <mkdir dir="${project.build.directory}/msi/files" />
+                                <copy toDir="${project.build.directory}/msi/files">
+                                    <fileset dir="${package.dir}">
+                                        <!-- Exclude Mac apps -->
+                                        <exclude name="QuickSetup.app/**" />
+                                        <exclude name="Uninstall.app/**" />
 
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-antrun-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>build-msi-package</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                                <configuration>
-                                    <!-- Package the Directory Server for the MSI distribution. -->
-                                    <target>
-                                        <mkdir dir="${project.build.directory}/msi/files" />
-                                        <copy toDir="${project.build.directory}/msi/files">
-                                            <fileset dir="${package.dir}">
-                                                <!-- Exclude Mac apps -->
-                                                <exclude name="QuickSetup.app/**" />
-                                                <exclude name="Uninstall.app/**" />
+                                        <!-- Exclude shell scripts -->
+                                        <exclude name="bin/**" />
+                                        <exclude name="setup" />
+                                        <exclude name="uninstall" />
+                                        <exclude name="upgrade" />
+                                        <exclude name="**/*.sh" />
+                                    </fileset>
+                                </copy>
 
-                                                <!-- Exclude shell scripts -->
-                                                <exclude name="bin/**" />
-                                                <exclude name="setup" />
-                                                <exclude name="uninstall" />
-                                                <exclude name="upgrade" />
-                                                <exclude name="**/*.sh" />
-                                            </fileset>
-                                        </copy>
+                                <mkdir dir="${project.build.directory}/msi/build" />
+                                <copy file="${msi.resources}/package.wxs" toDir="${project.build.directory}/msi/build" />
+                                <copy file="${msi.resources}/opendjbanner.bmp" toDir="${project.build.directory}/msi/build" />
+                                <copy file="${msi.resources}/opendjdialog.bmp" toDir="${project.build.directory}/msi/build" />
+                                <mkdir dir="${project.build.directory}/msi/dist" />
 
-                                        <mkdir dir="${project.build.directory}/msi/build" />
-                                        <copy file="${msi.resources}/package.wxs" toDir="${project.build.directory}/msi/build" />
-                                        <copy file="${msi.resources}/opendjbanner.bmp" toDir="${project.build.directory}/msi/build" />
-                                        <copy file="${msi.resources}/opendjdialog.bmp" toDir="${project.build.directory}/msi/build" />
-                                        <mkdir dir="${project.build.directory}/msi/dist" />
+                                <!-- Construct a .wxs file from the directory structure -->
+                                <exec executable="heat.exe" dir="${project.build.directory}/msi/files">
+                                    <arg value="dir" />
+                                    <arg value="." />
+                                    <arg value="-nologo" />
+                                    <arg value="-cg" /> <arg value="all" />
+                                    <arg value="-gg" />
+                                    <arg value="-sfrag" />
+                                    <arg value="-srd" />
+                                    <arg value="-ke" />
+                                    <arg value="-dr" /> <arg value="OPENDJ" />
+                                    <arg value="-var" /> <arg value="var.src" />
+                                    <arg value="-template" /> <arg value="fragment" />
+                                    <arg value="-o" /> <arg value="${project.build.directory}/msi/build/payload.wxs" />
+                                </exec>
 
-                                        <!-- Construct a .wxs file from the directory structure -->
-                                        <exec executable="heat.exe" dir="${project.build.directory}/msi/files">
-                                            <arg value="dir" />
-                                            <arg value="." />
-                                            <arg value="-nologo" />
-                                            <arg value="-cg" /> <arg value="all" />
-                                            <arg value="-gg" />
-                                            <arg value="-sfrag" />
-                                            <arg value="-srd" />
-                                            <arg value="-ke" />
-                                            <arg value="-dr" /> <arg value="OPENDJ" />
-                                            <arg value="-var" /> <arg value="var.src" />
-                                            <arg value="-template" /> <arg value="fragment" />
-                                            <arg value="-o" /> <arg value="${project.build.directory}/msi/build/payload.wxs" />
-                                        </exec>
+                                <!-- Compile all .wxs files into .wixobj files (fast) -->
+                                <exec executable="candle.exe" dir="${project.build.directory}/msi">
+                                    <arg value="-nologo" />
+                                    <arg value="-out" /> <arg value="${project.build.directory}/msi/build/" />
+                                    <arg value="-dsrc=files" />
+                                    <arg value="-dname=${product.name}" />
+                                    <arg value="-dmajor=${parsedVersion.majorVersion}" />
+                                    <arg value="-dminor=${parsedVersion.minorVersion}" />
+                                    <arg value="-dpoint=${parsedVersion.incrementalVersion}" />
+                                    <arg value="build/package.wxs" />
+                                    <arg value="build/payload.wxs" />
+                                </exec>
 
-                                        <!-- Compile all .wxs files into .wixobj files (fast) -->
-                                        <exec executable="candle.exe" dir="${project.build.directory}/msi">
-                                            <arg value="-nologo" />
-                                            <arg value="-out" /> <arg value="${project.build.directory}/msi/build/" />
-                                            <arg value="-dsrc=files" />
-                                            <arg value="-dname=${product.name}" />
-                                            <arg value="-dmajor=${parsedVersion.majorVersion}" />
-                                            <arg value="-dminor=${parsedVersion.minorVersion}" />
-                                            <arg value="-dpoint=${parsedVersion.incrementalVersion}" />
-                                            <arg value="build/package.wxs" />
-                                            <arg value="build/payload.wxs" />
-                                        </exec>
+                                <!-- Build the package (slow) -->
+                                <exec executable="light.exe" dir="${project.build.directory}/msi">
+                                    <arg value="-nologo" />
+                                    <arg value="-ext" /> <arg value="WixUIExtension" />
+                                    <arg value="-out" /> <arg value="dist/${product.name.lowercase}-${project.version}.msi" />
+                                    <arg value="build/package.wixobj" />
+                                    <arg value="build/payload.wixobj" />
+                                </exec>
 
-                                        <!-- Build the package (slow) -->
-                                        <exec executable="light.exe" dir="${project.build.directory}/msi">
-                                            <arg value="-nologo" />
-                                            <arg value="-ext" /> <arg value="WixUIExtension" />
-                                            <arg value="-out" /> <arg value="dist/${product.name.lowercase}-${project.version}.msi" />
-                                            <arg value="build/package.wixobj" />
-                                            <arg value="build/payload.wixobj" />
-                                        </exec>
-
-                                        <!-- Attach msi artifact to the build -->
-                                        <attachartifact file="${project.build.directory}/msi/dist/${product.name.lowercase}-${project.version}.msi" />
-                                    </target>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
+                                <!-- Attach msi artifact to the build -->
+                                <attachartifact file="${project.build.directory}/msi/dist/${product.name.lowercase}-${project.version}.msi" />
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/opendj-packages/opendj-msi/pom.xml b/opendj-packages/opendj-msi/pom.xml
index 0b644ac..2ac1525 100644
--- a/opendj-packages/opendj-msi/pom.xml
+++ b/opendj-packages/opendj-msi/pom.xml
@@ -12,7 +12,7 @@
   Header, with the fields enclosed by brackets [] replaced by your own identifying
   information: "Portions Copyright [year] [name of copyright owner]".
 
-  Copyright 2015 ForgeRock AS.
+  Copyright 2015-2016 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>
@@ -35,30 +35,4 @@
     <modules>
         <module>opendj-msi-standard</module>
     </modules>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>check-windows</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <requireOS>
-                                    <family>windows</family>
-                                </requireOS>
-                            </rules>
-                            <fail>false</fail>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/opendj-packages/opendj-zip/opendj-zip-oem/pom.xml b/opendj-packages/opendj-zip/opendj-zip-oem/pom.xml
index 1ef799a..e60b836 100644
--- a/opendj-packages/opendj-zip/opendj-zip-oem/pom.xml
+++ b/opendj-packages/opendj-zip/opendj-zip-oem/pom.xml
@@ -53,7 +53,7 @@
         <dependency>
             <groupId>org.forgerock.opendj</groupId>
             <artifactId>opendj-server-legacy</artifactId>
-            <version>${opendj.server.archive.version}</version>
+            <version>${project.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>com.sleepycat</groupId>
@@ -68,7 +68,7 @@
             <plugin>
                 <groupId>org.forgerock.opendj</groupId>
                 <artifactId>opendj-maven-plugin</artifactId>
-                <version>${opendj.server.archive.version}</version>
+                <version>${project.version}</version>
                 <configuration>
                     <productJarName>${product.name}</productJarName>
                     <supportedLocales>${product.locales}</supportedLocales>
diff --git a/opendj-packages/pom.xml b/opendj-packages/pom.xml
index dacb962..b720f62 100644
--- a/opendj-packages/pom.xml
+++ b/opendj-packages/pom.xml
@@ -12,151 +12,81 @@
   Header, with the fields enclosed by brackets [] replaced by your own identifying
   information: "Portions Copyright [year] [name of copyright owner]".
 
-  Copyright 2015 ForgeRock AS.
+  Copyright 2015-2016 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</groupId>
-        <artifactId>forgerock-parent</artifactId>
-        <version>2.0.4</version>
+        <groupId>org.forgerock.opendj</groupId>
+        <artifactId>opendj-parent</artifactId>
+        <version>4.0.0-SNAPSHOT</version>
     </parent>
 
-    <groupId>org.forgerock.opendj</groupId>
     <artifactId>opendj-packages</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
-
     <name>OpenDJ Packages</name>
-
-    <packaging>pom</packaging>
-
     <description>
         This module contains sub-modules which generates OEM OpenDJ version, deb and rpm OpenDJ packages.
     </description>
 
-    <inceptionYear>2015</inceptionYear>
-    <url>http://opendj.forgerock.org</url>
-
-    <issueManagement>
-        <system>Jira</system>
-        <url>https://bugster.forgerock.org/jira/browse/OPENDJ</url>
-    </issueManagement>
-
-    <mailingLists>
-        <mailingList>
-            <name>OpenDJ Users Mailing List</name>
-            <archive>http://lists.forgerock.org/pipermail/opendj/</archive>
-            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</subscribe>
-            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</unsubscribe>
-            <post>opendj@forgerock.org</post>
-        </mailingList>
-
-        <mailingList>
-            <name>OpenDJ Developers Mailing List</name>
-            <archive>http://lists.forgerock.org/pipermail/opendj-dev/</archive>
-            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</subscribe>
-            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</unsubscribe>
-            <post>opendj-dev@forgerock.org</post>
-        </mailingList>
-    </mailingLists>
-
-    <scm>
-        <url>https://stash.forgerock.org/projects/OPENDJ/repos/opendj-packages/browse</url>
-        <connection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-packages.git</connection>
-        <developerConnection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj-packages.git</developerConnection>
-        <tag>HEAD</tag>
-    </scm>
-
-    <ciManagement>
-        <system>jenkins</system>
-        <url>https://ci.forgerock.org/view/OpenDJ/job/OpenDJ%20-%20packages%20-%20postcommit</url>
-        <notifiers>
-            <notifier>
-                <type>mail</type>
-                <sendOnError>true</sendOnError>
-                <sendOnFailure>true</sendOnFailure>
-                <sendOnSuccess>false</sendOnSuccess>
-                <sendOnWarning>false</sendOnWarning>
-                <address>opendj-dev@forgerock.org</address>
-            </notifier>
-        </notifiers>
-    </ciManagement>
-
-    <repositories>
-        <repository>
-            <id>forgerock-staging-repository</id>
-            <name>ForgeRock Release Repository</name>
-            <url>http://maven.forgerock.org/repo/releases</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-
-        <repository>
-            <id>forgerock-snapshots-repository</id>
-            <name>ForgeRock Snapshot Repository</name>
-            <url>http://maven.forgerock.org/repo/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-
-        <repository>
-            <id>jvnet-nexus-snapshots</id>
-            <url>https://maven.java.net/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
+    <packaging>pom</packaging>
 
     <properties>
-        <product.name>OpenDJ</product.name>
-        <product.name.lowercase>opendj</product.name.lowercase>
         <legal.folder>legal-notices</legal.folder>
         <lib.folder>lib</lib.folder>
         <!-- Location of the opendj service file for linux based packages. -->
         <sysv.file.location />
-        <opendj.server.archive.version>4.0.0-SNAPSHOT</opendj.server.archive.version>
     </properties>
 
     <modules>
         <module>opendj-zip</module>
-        <module>opendj-deb</module>
-        <module>opendj-rpm</module>
-        <module>opendj-svr4</module>
-        <module>opendj-msi</module>
     </modules>
 
+    <profiles>
+        <profile>
+            <id>opendj-deb</id>
+            <activation>
+                <os><family>Linux</family></os>
+            </activation>
+            <modules>
+                <module>opendj-deb</module>
+            </modules>
+        </profile>
+
+        <profile>
+            <id>opendj-rpm</id>
+            <activation>
+                <file><exists>/usr/bin/rpm</exists></file>
+            </activation>
+            <modules>
+                <module>opendj-rpm</module>
+            </modules>
+        </profile>
+
+        <profile>
+            <id>opendj-svr4</id>
+            <activation>
+                <os><family>SunOS</family></os>
+            </activation>
+            <modules>
+                <module>opendj-svr4</module>
+            </modules>
+        </profile>
+
+        <profile>
+            <id>opendj-msi</id>
+            <activation>
+                <os><family>Windows</family></os>
+            </activation>
+            <modules>
+                <module>opendj-msi</module>
+            </modules>
+        </profile>
+    </profiles>
+
     <build>
         <pluginManagement>
             <plugins>
-                <!--
-                  | Parse version to generate properties:
-                  |  * parsedVersion.majorVersion
-                  |  * parsedVersion.majorVersion
-                  |  * parsedVersion.incrementalVersion
-                -->
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>build-helper-maven-plugin</artifactId>
-                    <version>1.8</version>
-                    <executions>
-                        <execution>
-                            <id>parse-product-version</id>
-                            <phase>package</phase>
-                            <goals>
-                                <goal>parse-version</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-
                 <!-- Unpack files from OpenDJ standard archive -->
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -173,7 +103,7 @@
                                     <artifactItem>
                                         <groupId>org.forgerock.opendj</groupId>
                                         <artifactId>opendj-server-legacy</artifactId>
-                                        <version>${opendj.server.archive.version}</version>
+                                        <version>${project.version}</version>
                                         <type>zip</type>
                                         <overWrite>true</overWrite>
                                         <outputDirectory>${project.build.directory}</outputDirectory>
diff --git a/opendj-rest2ldap-servlet/pom.xml b/opendj-rest2ldap-servlet/pom.xml
index 2053249..bc417cb 100644
--- a/opendj-rest2ldap-servlet/pom.xml
+++ b/opendj-rest2ldap-servlet/pom.xml
@@ -12,13 +12,13 @@
   Header, with the fields enclosed by brackets [] replaced by your own identifying
   information: "Portions Copyright [year] [name of copyright owner]".
 
-  Copyright 2013-2015 ForgeRock AS.
+  Copyright 2013-2016 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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
 
diff --git a/opendj-rest2ldap/pom.xml b/opendj-rest2ldap/pom.xml
index 4bcce5e..8600474 100644
--- a/opendj-rest2ldap/pom.xml
+++ b/opendj-rest2ldap/pom.xml
@@ -18,7 +18,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-parent</artifactId>
         <groupId>org.forgerock.opendj</groupId>
         <version>4.0.0-SNAPSHOT</version>
     </parent>
diff --git a/opendj-server-example-plugin/pom.xml b/opendj-server-example-plugin/pom.xml
index 1d505e9..4a1e42e 100644
--- a/opendj-server-example-plugin/pom.xml
+++ b/opendj-server-example-plugin/pom.xml
@@ -17,8 +17,8 @@
 <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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>opendj-server-example-plugin</artifactId>
diff --git a/opendj-server-legacy/pom.xml b/opendj-server-legacy/pom.xml
index 840afe5..54e0262 100644
--- a/opendj-server-legacy/pom.xml
+++ b/opendj-server-legacy/pom.xml
@@ -19,14 +19,14 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.forgerock.opendj</groupId>
-    <artifactId>opendj-server-parent</artifactId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>opendj-server-legacy</artifactId>
   <packaging>jar</packaging>
-  <name>OpenDJ</name>
+  <name>OpenDJ LDAP Directory Server</name>
   <description>
-    This module provides the OpenDJ server.
+    This module provides the OpenDJ LDAP Directory Server.
   </description>
   <inceptionYear>2010</inceptionYear>
 
diff --git a/opendj-server/pom.xml b/opendj-server/pom.xml
index 12bbc75..c035133 100644
--- a/opendj-server/pom.xml
+++ b/opendj-server/pom.xml
@@ -17,12 +17,12 @@
 <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>
-    <artifactId>opendj-server-parent</artifactId>
     <groupId>org.forgerock.opendj</groupId>
+    <artifactId>opendj-parent</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>opendj-server</artifactId>
-  <name>OpenDJ Server</name>
+  <name>OpenDJ Server NG</name>
   <description>
     OpenDJ LDAP embedded directory server.
   </description>
diff --git a/pom.xml b/pom.xml
index 122b631..19b0a86 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,13 +19,12 @@
 
     <parent>
         <groupId>org.forgerock.opendj</groupId>
-        <artifactId>opendj-sdk-parent</artifactId>
+        <artifactId>opendj-bom</artifactId>
         <version>4.0.0-SNAPSHOT</version>
+        <relativePath>opendj-bom/pom.xml</relativePath>
     </parent>
 
-    <groupId>org.forgerock.opendj</groupId>
-    <artifactId>opendj-server-parent</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
+    <artifactId>opendj-parent</artifactId>
 
     <packaging>pom</packaging>
 
@@ -35,9 +34,67 @@
         platform, providing a high performance, highly available and secure store
         for the identities managed by enterprises.
     </description>
+
+    <properties>
+        <product.name>OpenDJ</product.name>
+        <product.name.lowercase>opendj</product.name.lowercase>
+        <localized.jars.classifier>i18n</localized.jars.classifier>
+
+        <site.distribution.url>
+            scp://community.internal.forgerock.com/var/www/vhosts/opendj.forgerock.org/httpdocs
+        </site.distribution.url>
+
+        <forgerock-build-tools.version>1.0.2</forgerock-build-tools.version>
+        <forgerock-doc-plugin.version>3.2.0</forgerock-doc-plugin.version>
+        <grizzly-framework.version>2.3.23</grizzly-framework.version>
+        <metrics-core.version>3.1.2</metrics-core.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>
+        <opendj-copyright-maven-plugin.version>1.0.0</opendj-copyright-maven-plugin.version>
+    </properties>
+
     <inceptionYear>2011</inceptionYear>
     <url>http://opendj.forgerock.org</url>
 
+    <mailingLists>
+        <mailingList>
+            <name>OpenDJ Users Mailing List</name>
+            <archive>http://lists.forgerock.org/pipermail/opendj/</archive>
+            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</subscribe>
+            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj/</unsubscribe>
+            <post>opendj@forgerock.org</post>
+        </mailingList>
+
+        <mailingList>
+            <name>OpenDJ Developers Mailing List</name>
+            <archive>http://lists.forgerock.org/pipermail/opendj-dev/</archive>
+            <subscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</subscribe>
+            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/opendj-dev/</unsubscribe>
+            <post>opendj-dev@forgerock.org</post>
+        </mailingList>
+    </mailingLists>
+
+    <licenses>
+        <license>
+            <name>CDDL-1.0</name>
+            <url>http://www.opensource.org/licenses/CDDL-1.0</url>
+            <comments>Common Development and Distribution License (CDDL) 1.0.
+                This license applies to OpenDJ source code as indicated in the
+                source files.
+            </comments>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+
     <issueManagement>
         <system>Jira</system>
         <url>https://bugster.forgerock.org/jira/browse/OPENDJ</url>
@@ -73,43 +130,30 @@
         </notifiers>
     </ciManagement>
 
-    <repositories>
-        <repository>
-            <id>forgerock-staging-repository</id>
-            <name>ForgeRock Release Repository</name>
-            <url>http://maven.forgerock.org/repo/releases</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>forgerock-snapshots-repository</id>
-            <name>ForgeRock Snapshot Repository</name>
-            <url>http://maven.forgerock.org/repo/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-        <repository>
-            <id>jvnet-nexus-snapshots</id>
-            <url>https://maven.java.net/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
     <dependencyManagement>
         <dependencies>
+          <!-- Dropwizard metrics-core -->
             <dependency>
-              <groupId>org.forgerock.opendj</groupId>
-              <artifactId>opendj-core</artifactId>
-              <version>${opendj.core.test.jar.version}</version>
-              <type>test-jar</type>
-              <scope>test</scope>
+                <groupId>io.dropwizard.metrics</groupId>
+                <artifactId>metrics-core</artifactId>
+                <version>${metrics-core.version}</version>
+            </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>
 
             <dependency>
@@ -132,7 +176,49 @@
         </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>
+
     <modules>
+        <module>opendj-bom</module>
+
+        <module>opendj-core</module>
+        <module>opendj-doc-maven-plugin</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-maven-plugin</module>
         <module>opendj-config</module>
         <module>opendj-rest2ldap-servlet</module>
@@ -143,17 +229,185 @@
         <module>opendj-dsml-servlet</module>
     </modules>
 
-    <properties>
-        <product.name>OpenDJ</product.name>
-        <product.name.lowercase>opendj</product.name.lowercase>
-        <opendj.core.test.jar.version>4.0.0-SNAPSHOT</opendj.core.test.jar.version>
-        <localized.jars.classifier>i18n</localized.jars.classifier>
-    </properties>
-
     <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>
+                    <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-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-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.forgerock.opendj</groupId>
+                    <artifactId>opendj-doc-maven-plugin</artifactId>
+                    <version>${project.version}</version>
+                </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-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>
+
+                <plugin>
+                    <groupId>org.forgerock.opendj</groupId>
+                    <artifactId>opendj-copyright-maven-plugin</artifactId>
+                    <version>${opendj-copyright-maven-plugin.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>
+                            <disabledFile>**/tests/unit-tests-testng/resource/config-changes.ldif</disabledFile>
+                        </disabledFiles>
+                    </configuration>
+                </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>
+
+                <plugin>
                     <groupId>org.forgerock.opendj</groupId>
                     <artifactId>opendj-maven-plugin</artifactId>
                     <version>${project.version}</version>
@@ -174,12 +428,24 @@
                     </executions>
                 </plugin>
 
-                <!-- Retrieve the build timestamp -->
+                <!-- Retrieve the build timestamp and SCM revision number -->
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>buildnumber-maven-plugin</artifactId>
+                    <version>1.4</version>
                     <executions>
                         <execution>
+                            <id>generate-buildnumber</id>
+                            <goals>
+                                <goal>create</goal>
+                            </goals>
+                            <configuration>
+                                <buildNumberPropertyName>buildRevision</buildNumberPropertyName>
+                                <revisionOnScmFailure>-1</revisionOnScmFailure>
+                            </configuration>
+                        </execution>
+
+                        <execution>
                             <id>generate-timestamp</id>
                             <goals>
                                 <goal>create</goal>
@@ -229,4 +495,90 @@
             </plugins>
         </pluginManagement>
     </build>
+
+    <profiles>
+        <profile>
+            <id>docs</id>
+            <modules>
+                <module>opendj-man-pages</module>
+            </modules>
+        </profile>
+
+        <profile>
+            <id>packages</id>
+            <modules>
+                <module>opendj-packages</module>
+            </modules>
+        </profile>
+
+        <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>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+    <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>
 </project>

--
Gitblit v1.10.0