mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Nicolas Capponi
27.53.2013 89b4fa15a86f26fa658d38196946eabefae99422
OpenDJ 3 : config framework

* create opendj-admin module : common module for both admin clients and the server
* basic structure and pom.xml file

1 files added
395 ■■■■■ changed files
opendj-admin/pom.xml 395 ●●●●● patch | view | raw | blame | history
opendj-admin/pom.xml
New file
@@ -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>