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

---
 pom.xml |  444 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 398 insertions(+), 46 deletions(-)

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