From 89b4fa15a86f26fa658d38196946eabefae99422 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 27 Nov 2013 16:53:40 +0000
Subject: [PATCH] OpenDJ 3 : config framework

---
 opendj-admin/pom.xml |  395 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 395 insertions(+), 0 deletions(-)

diff --git a/opendj-admin/pom.xml b/opendj-admin/pom.xml
new file mode 100644
index 0000000..b088d74
--- /dev/null
+++ b/opendj-admin/pom.xml
@@ -0,0 +1,395 @@
+<?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 2013 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-project</artifactId>
+    <groupId>org.forgerock.opendj</groupId>
+    <version>2.7.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>opendj-admin</artifactId>
+  <name>OpenDJ Administration API</name>
+  <description>
+    This module includes Administration APIs for implementing LDAP Directory
+    client and server applications.
+  </description>
+  <packaging>bundle</packaging>
+  <dependencies>
+    <dependency>
+      <groupId>org.forgerock.commons</groupId>
+      <artifactId>i18n-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.forgerock</groupId>
+      <artifactId>forgerock-build-tools</artifactId>
+      <version>${forgerockBuildToolsVersion}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.forgerock.opendj</groupId>
+      <artifactId>opendj-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+  <properties>
+    <opendj.osgi.import>
+      com.sun.security.auth*;resolution:=optional,
+      *
+    </opendj.osgi.import>
+    <xmlDefinitionsBaseDir>src/main/resources/definitions</xmlDefinitionsBaseDir>
+    <xmlDefinitionsDir>${xmlDefinitionsBaseDir}/org/forgerock/opendj/admin</xmlDefinitionsDir>
+    <adminPackage>org/forgerock/opendj/admin</adminPackage>
+    <generatedSourcesDir>${project.build.directory}/generated-sources/admin/${adminPackage}</generatedSourcesDir>
+    <xslDir>src/main/resources/stylesheets</xslDir>
+  </properties>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.forgerock.commons</groupId>
+        <artifactId>i18n-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>generate-messages</goal>
+            </goals>
+            <configuration>
+              <messageFiles>
+                <messageFile>com/forgerock/opendj/ldap/admin.properties</messageFile>
+                <messageFile>com/forgerock/opendj/ldap/protocol.properties</messageFile>
+              </messageFiles>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <!-- Generate core administration components. -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>xml-maven-plugin</artifactId>
+        <version>1.0</version>
+        <executions>
+          <execution>
+            <id>generate-core-components</id>
+            <goals>
+              <goal>transform</goal>
+            </goals>
+            <configuration>
+              <transformationSets>
+                <!-- Generate introspection API for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/meta</outputDir>
+                  <stylesheet>${xslDir}/metaMO.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1CfgDefn.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/meta</outputDir>
+                  <stylesheet>${xslDir}/package-info.xsl</stylesheet>
+                  <includes>
+                    <include>Package.xml</include>
+                  </includes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^Package\.xml$</pattern>
+                      <replacement>package-info.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>type</name>
+                      <value>meta</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate server API for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/server</outputDir>
+                  <stylesheet>${xslDir}/serverMO.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1Cfg.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/server</outputDir>
+                  <stylesheet>${xslDir}/package-info.xsl</stylesheet>
+                  <includes>
+                    <include>Package.xml</include>
+                  </includes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^Package\.xml$</pattern>
+                      <replacement>package-info.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>type</name>
+                      <value>server</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate client API for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/client</outputDir>
+                  <stylesheet>${xslDir}/clientMO.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1CfgClient.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${generatedSourcesDir}/client</outputDir>
+                  <stylesheet>${xslDir}/package-info.xsl</stylesheet>
+                  <includes>
+                    <include>Package.xml</include>
+                  </includes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^Package\.xml$</pattern>
+                      <replacement>package-info.java</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>type</name>
+                      <value>client</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate LDAP profile for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${project.build.outputDirectory}/admin/profiles/ldap/${adminPackage}/meta</outputDir>
+                  <stylesheet>${xslDir}/ldapMOProfile.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1CfgDefn.properties</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate CLI profile for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${project.build.outputDirectory}/admin/profiles/cli/${adminPackage}/meta</outputDir>
+                  <stylesheet>${xslDir}/cliMOProfile.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1CfgDefn.properties</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate I18N messages for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${project.build.outputDirectory}/admin/messages/${adminPackage}/meta</outputDir>
+                  <stylesheet>${xslDir}/messagesMO.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+                      <pattern>^([^/]+)Configuration\.xml$</pattern>
+                      <replacement>$1CfgDefn.properties</replacement>
+                    </fileMapper>
+                  </fileMappers>
+                  <parameters>
+                    <parameter>
+                      <name>base-dir</name>
+                      <value>${xmlDefinitionsBaseDir}</value>
+                    </parameter>
+                  </parameters>
+                </transformationSet>
+                <!-- Generate manifest file for core administration components. -->
+                <transformationSet>
+                  <dir>${xmlDefinitionsDir}</dir>
+                  <outputDir>${project.build.directory}/tmp</outputDir>
+                  <stylesheet>${xslDir}/manifestMO.xsl</stylesheet>
+                  <excludes>
+                    <exclude>Package.xml</exclude>
+                  </excludes>
+                  <fileMappers>
+                    <fileMapper
+                      implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
+                      <targetExtension>.manifest</targetExtension>
+                    </fileMapper>
+                  </fileMappers>
+                </transformationSet>
+              </transformationSets>
+            </configuration>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <!-- no lib => fail, xalan 2.7 => fail, saxon 6.5.3 => ok -->
+            <groupId>saxon</groupId>
+            <artifactId>saxon</artifactId>
+            <version>6.5.3</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+      <!-- Concatenate all single manifest files to a single manifest for 
+        core administration components. -->
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>prepare-package</phase>
+            <configuration>
+              <target>
+                <concat
+                  destfile="${project.build.outputDirectory}/admin/core.manifest">
+                  <fileset dir="${project.build.directory}/tmp"
+                    includes="**/*.manifest" />
+                </concat>
+                <delete dir="${project.build.directory}/tmp" />
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.4</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>mailing-list</report>
+              <report>issue-tracking</report>
+              <report>license</report>
+              <report>cim</report>
+              <report>distribution-management</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </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>
+    </plugins>
+  </reporting>
+</project>
\ No newline at end of file

--
Gitblit v1.10.0