0N/A<?
xml version="1.0" encoding="UTF-8"?>
0N/A ! The contents of this file are subject to the terms of the 0N/A ! Common Development and Distribution License, Version 1.0 only 0N/A ! (the "License"). You may not use this file except in compliance 0N/A ! See the License for the specific language governing permissions 0N/A ! and limitations under the License. 0N/A ! When distributing Covered Code, include this CDDL HEADER in each 0N/A ! file and include the License file at 0N/A ! add the following below this CDDL HEADER, with the fields enclosed 0N/A ! by brackets "[]" replaced with your own identifying information: 0N/A ! Portions Copyright [yyyy] [name of copyright owner] 0N/A ! Copyright 2011-2015 ForgeRock AS. 0N/A <
modelVersion>4.0.0</
modelVersion>
0N/A <
artifactId>opendj-server-parent</
artifactId>
0N/A <
version>3.0.0-SNAPSHOT</
version>
0N/A <
artifactId>opendj-server-legacy</
artifactId>
0N/A <
packaging>jar</
packaging>
0N/A This module provides the OpenDJ server.
0N/A <
inceptionYear>2010</
inceptionYear>
0N/A <
id>oracle-repository</
id>
0N/A <
name>Oracle Maven Repository</
name>
<!-- General server-wide properties --> <!-- Product information properties --> <
lowerCaseProductName>opendj</
lowerCaseProductName>
<
isDebugBuild>false</
isDebugBuild>
<
locales>ca_ES,es,de,fr,ja,ko,pl,zh_CN,zh_TW</
locales>
<!-- Other properties --> <!-- Could be removed once migration to new config framework will be done--> <!-- If we release this project, we need to include the Forgerock binary license --> <!-- Additional OSGI import package for this module --> <!-- ForgeRock libraries --> <
artifactId>opendj-cli</
artifactId>
<
artifactId>opendj-rest2ldap</
artifactId>
<
artifactId>i18n-slf4j</
artifactId>
<
artifactId>opendj-config</
artifactId>
<
artifactId>opendj-server</
artifactId>
<
artifactId>forgerock-build-tools</
artifactId>
<
artifactId>slf4j-jdk14</
artifactId>
<
artifactId>forgerock-util</
artifactId>
<
artifactId>json-resource</
artifactId>
<
artifactId>json-resource-http</
artifactId>
<
artifactId>chf-http-core</
artifactId>
<
artifactId>chf-http-servlet</
artifactId>
<!-- ForgeRock Common Audit libraries --> <
artifactId>forgerock-audit-core</
artifactId>
<
artifactId>forgerock-audit-handler-csv</
artifactId>
<
artifactId>forgerock-audit-json</
artifactId>
<
artifactId>forgerock-audit-handler-syslog</
artifactId>
<
artifactId>forgerock-audit-handler-jdbc</
artifactId>
<!-- servlet and mail --> <
version>3.1-b02</
version>
<
artifactId>grizzly-http-servlet</
artifactId>
<!-- We need to override testNG version to make test works (see OPENDJ-2389) --> <
artifactId>testng</
artifactId>
<
artifactId>opendj-core</
artifactId>
<
artifactId>freemarker</
artifactId>
<
version>2.3.21</
version>
<
artifactId>je</
artifactId>
<
version>5.0.104</
version>
<
artifactId>forgerock-persistit-core</
artifactId>
<
filtering>true</
filtering>
<
exclude>java-stubs/</
exclude>
<!-- Property files used in test sources --> <
filtering>false</
filtering>
<
include>**/*.properties</
include>
<!-- Images for quicksetup must be explicitely copied from sources --> <
filtering>false</
filtering>
<
include>**/images/*.gif</
include>
<
include>**/images/*.png</
include>
<!-- Images for guitools must be explicitely copied from sources --> <
filtering>false</
filtering>
<
include>**/images/*.gif</
include>
<
include>**/images/*.png</
include>
<!-- .plist files for macos must be filtered to include build properties --> <
filtering>true</
filtering>
<!-- Generation of DynamicConstants class from build properties --> <
filtering>true</
filtering>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. This section instructs Eclipse's Maven builder to invoke the antrun plugin for generating the configuration during an incremental build is not supported. --> <
artifactId>lifecycle-mapping</
artifactId>
<
lifecycleMappingMetadata>
<
artifactId>maven-antrun-plugin</
artifactId>
<
versionRange>[1.7,)</
versionRange>
<
runOnIncremental>false</
runOnIncremental>
</
lifecycleMappingMetadata>
<!-- Define template for jar generation --> <
artifactId>maven-jar-plugin</
artifactId>
<
outputDirectory>${
jars.dir}</
outputDirectory>
<
addMavenDescriptor>false</
addMavenDescriptor>
<!-- Clean classes generated outside the build directory --> <
artifactId>maven-clean-plugin</
artifactId>
<
directory>${basedir}/src</
directory>
<
followSymlinks>false</
followSymlinks>
<
artifactId>maven-dependency-plugin</
artifactId>
<!-- Unpack configuration files from opendj-maven-plugin --> <!-- This plugin could be removed once the migration to the new config framework will be done --> <
id>unpack-config-files</
id>
<
phase>generate-sources</
phase>
<
artifactId>opendj-maven-plugin</
artifactId>
<
overWrite>true</
overWrite>
<!-- Unpack legacy classes to include them in main jar. This "hacked" approach is needed since using the maven shade plugin is too complex with this multi-artefact maven module. --> <
id>unpack-legacy-classes</
id>
<
phase>generate-sources</
phase>
<
artifactId>opendj-legacy</
artifactId>
<
overWrite>true</
overWrite>
<!-- Generate i18n messages --> <
artifactId>i18n-maven-plugin</
artifactId>
<
phase>generate-sources</
phase>
<
goal>generate-messages</
goal>
<
resourceDirectory>${basedir}/
src/
messages</
resourceDirectory>
<!-- Warning: messageFile must contains at least one "/" --> <
artifactId>maven-resources-plugin</
artifactId>
<!-- Copy messages properties files for inclusion in main jar --> <
id>copy-l10n-messages</
id>
<
goal>copy-resources</
goal>
<
filtering>false</
filtering>
<
id>copy-l10n-config-messages</
id>
<
goal>copy-resources</
goal>
<
filtering>false</
filtering>
<
id>copy-guitools-resources</
id>
<
goal>copy-resources</
goal>
<
filtering>false</
filtering>
<
id>copy-quicksetup-resources</
id>
<
goal>copy-resources</
goal>
<
filtering>false</
filtering>
<
artifactId>opendj-maven-plugin</
artifactId>
<
id>generate-bootstrap-manifest</
id>
<
goal>generate-manifest</
goal>
<
supportedLocales>${locales}</
supportedLocales>
<
id>generate-bootstrap-client-manifest</
id>
<
goal>generate-manifest</
goal>
<
supportedLocales>${locales}</
supportedLocales>
<!-- Generate configuration classes from XML definitions --> <!-- Leave default lifecycle phase once new config framework migration is done --> <!-- <phase>generate-sources</phase> --> <
goal>generate-config</
goal>
<
isExtension>false</
isExtension>
<!-- Create consolidated schema file for use in upgrade --> <
id>creates-base-schema-files</
id>
<
artifactId>build-helper-maven-plugin</
artifactId>
<!-- Take into account several sources directories for the build --> <
id>main-java-sources</
id>
<
phase>generate-sources</
phase>
<
goal>parse-version</
goal>
<!-- Retrieve the SVN revision number and the build timestamp --> <
artifactId>buildnumber-maven-plugin</
artifactId>
<
id>generate-buildnumber</
id>
<
buildNumberPropertyName>buildRevision</
buildNumberPropertyName>
<
revisionOnScmFailure>-1</
revisionOnScmFailure>
<
id>generate-timestamp</
id>
<
format>{0,date,yyyyMMddHHmmss}</
format>
<
buildNumberPropertyName>buildDateTime</
buildNumberPropertyName>
<!-- Compile unit tests --> <
artifactId>maven-compiler-plugin</
artifactId>
<
id>default-testCompile</
id>
<
testSourceDirectory>
src/
test/
java</
testSourceDirectory>
<
showDeprecation>false</
showDeprecation>
<
showWarnings>false</
showWarnings>
<
testCompilerArgument>-nowarn</
testCompilerArgument>
<!-- Disable surefire plugin because all tests are run with failsafe plugin --> <
artifactId>maven-surefire-plugin</
artifactId>
<
artifactId>maven-bundle-plugin</
artifactId>
<!-- Create opendj-slf4j-adapter manifest --> <
id>opendj-slf4j-adapter-manifest</
id>
<!-- Export only slf4j adapter --> <!-- Create OpenDJ manifest --> <!-- Do not export packages of this module --> <
Export-
Package>!*</
Export-
Package>
<!-- Import je changelog since it is not shipped in the main jar --> <
artifactId>maven-jar-plugin</
artifactId>
<!-- Package boostrap jar - contains only a manifest with classpath for the server --> <
id>build-bootstrap-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>bootstrap</
finalName>
<
include>nothing</
include>
<!-- Package boostrap-client jar - contains only a manifest with classpath for clients --> <
id>build-bootstrap-client-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>bootstrap-client</
finalName>
<
include>nothing</
include>
<!-- Package build-tools jar --> <
id>create-build-tools-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>build-tools</
finalName>
<!-- Package quicksetup jar --> <
id>build-quicksetup-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>quicksetup</
finalName>
<
include>**/quicksetup/**</
include>
<!-- Package OpenDJ SL4J Logger Adapter jar --> <
id>build-opendj-slf4j-adapter-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>opendj-slf4j-adapter</
finalName>
<!-- Package JE backend jar --> <
id>build-opendj-je-backend-jar</
id>
<
phase>prepare-package</
phase>
<
finalName>opendj-je-backend</
finalName>
<!-- Build localized jars (one per supported locale) --> <!-- (is there a way to avoid all these repeated executions ?) --> <
phase>prepare-package</
phase>
<
classifier>ca_ES</
classifier>
<
phase>prepare-package</
phase>
<
classifier>de</
classifier>
<
phase>prepare-package</
phase>
<
classifier>es</
classifier>
<
phase>prepare-package</
phase>
<
classifier>fr</
classifier>
<
phase>prepare-package</
phase>
<
classifier>ja</
classifier>
<
phase>prepare-package</
phase>
<
classifier>ko</
classifier>
<
phase>prepare-package</
phase>
<
classifier>pl</
classifier>
<
phase>prepare-package</
phase>
<
classifier>zh_CN</
classifier>
<
phase>prepare-package</
phase>
<
classifier>zh_TW</
classifier>
<
exclude>*.app/**</
exclude>
<
exclude>java-stubs/**</
exclude>
<
exclude>bootstrap/**</
exclude>
<
exclude>META-INF/**</
exclude>
<
artifactId>maven-assembly-plugin</
artifactId>
<!-- Creates the archive folder --> <
id>build-opendj-archive</
id>
<
finalName>${lowerCaseProductName}</
finalName>
<
appendAssemblyId>false</
appendAssemblyId>
<
artifactId>maven-antrun-plugin</
artifactId>
<!-- Temporary solution for configuration classes until migration to new config framework --> <!-- Change package name and XML namespaces references to match the old config framework --> <
id>configure-config-files</
id>
<
phase>generate-sources</
phase>
<!-- Temporary solution for configuration classes until migration to new config framework --> <
phase>generate-sources</
phase>
<
target name="generateadmin" />
<!-- Copy config.ldif in build dir (needed if snmp config merge is needed) --> <
id>copy-config-ldif</
id>
<
phase>generate-resources</
phase>
<!-- Generate final zip and attach artefact --> <
zipfileset dir="${project.build.directory}/package/${lowerCaseProductName}" includes="**/*" excludes="bin/*,template/**/*,lib/_client-script.sh,lib/_script-util.sh,lib/_server-script.sh,lib/_mixed-script.sh,setup,uninstall,upgrade,QuickSetup.app/Contents/MacOS/universalJavaApplicationStub,Uninstall.app/Contents/MacOS/universalJavaApplicationStub,bin/ControlPanel.app/Contents/MacOS/universalJavaApplicationStub" filemode="644" dirmode="755" prefix="opendj" />
<
zipfileset dir="${project.build.directory}/package/${lowerCaseProductName}" includes="bin/*" filemode="755" dirmode="755" prefix="opendj" />
<
zipfileset dir="${project.build.directory}/package/${lowerCaseProductName}" includes="template/**/*" filemode="444" dirmode="744" prefix="opendj" />
<
artifactId>javadoc-updater-maven-plugin</
artifactId>
<
artifactId>maven-release-plugin</
artifactId>
<!-- Required for release:perform: the parent pom specifies a value for "arguments" in the plugin configuration. This prevents command line setting <
artifactId>cobertura-maven-plugin</
artifactId>
Profile to run precommit tasks: checkstyle, copyright (TODO), SVN eol check (TODO), Tests are not run by default due to running time (average of 8-10 minutes). <!-- Enforce Checkstyle --> <
artifactId>maven-checkstyle-plugin</
artifactId>
<!-- Disable default from parent --> <
id>check-src-and-tests</
id>
<
id>check-src-and-tests-alternative</
id>
<
includeTestSourceDirectory>true</
includeTestSourceDirectory>
<
includeResources>false</
includeResources>
<!-- Only output errors if we're not expecting any --> <
consoleOutput>${checkstyleFailOnError}</
consoleOutput>
<
failsOnError>${checkstyleFailOnError}</
failsOnError>
<
phase>process-test-classes</
phase>
A lot of existing tests requires a running server, which is why the tests are run using failsafe instead of surefire. It should be possible in the future to separate tests into unit (no server) and integration (with server), by using respectively surefire and failsafe plugin to run them, but it will require identifying them. We could use an "unit" marker in TestNG groups to do so. <
artifactId>maven-failsafe-plugin</
artifactId>
<
goal>integration-test</
goal>
<
testSourceDirectory>
src/
test/
java</
testSourceDirectory>
<
include>**/Test*.java</
include>
<
name>usedefaultlisteners</
name>
<
name>excludegroups</
name>
<
name>configfailurepolicy</
name>
<
systemPropertyVariables>
</
systemPropertyVariables>
<
argLine>-server -Xms1024M -Xmx2048M -XX:MaxPermSize=256m</
argLine>
Profile to build SNMP extension. This profile is only actived when command line contains the 'opendmk.lib.dir' property that must point to the directory where OpenDMK jars are located. <
groupId>opendmk</
groupId>
<
artifactId>jdmkrt</
artifactId>
<
groupId>opendmk</
groupId>
<
artifactId>jdmktk</
artifactId>
<
artifactId>build-helper-maven-plugin</
artifactId>
<!-- Add snmp source directory and snmp generated directory as sources --> <
id>snmp-java-sources</
id>
<
phase>generate-sources</
phase>
<!-- Cleans SNMP directory --> <
artifactId>maven-antrun-plugin</
artifactId>
<
phase>initialize</
phase>
<
id>generate-config-ldif</
id>
<
phase>prepare-package</
phase>
<
artifactId>exec-maven-plugin</
artifactId>
<
phase>generate-sources</
phase>
<
executable>java</
executable>
<
classpathScope>compile</
classpathScope>
<
argument>-classpath</
argument>
<
argument>-X:use-display-hint</
argument>
<
argument>-desc</
argument>
<!-- Creates snmp jar file --> <
artifactId>maven-jar-plugin</
artifactId>
<
phase>prepare-package</
phase>
<
outputDirectory>${
jars.dir}</
outputDirectory>
<
addMavenDescriptor>false</
addMavenDescriptor>
<
Revision-
Number>${buildRevision}</
Revision-
Number>
<!-- Package the final zip --> <
artifactId>maven-assembly-plugin</
artifactId>
<
id>build-opendj-archive</
id>
<
finalName>${lowerCaseProductName}</
finalName>
<
appendAssemblyId>false</
appendAssemblyId>
<
id>forgerock-release</
id>
Build the configuration reference, reference documentation source files, and assemble artifacts from the results. The artifacts are used when preparing the product documentation. <
artifactId>maven-dependency-plugin</
artifactId>
<
id>unpack-source-dependencies</
id>
<
phase>prepare-package</
phase>
<
artifactId>opendj-core</
artifactId>
<
classifier>sources</
classifier>
<
artifactId>opendj-doc-maven-plugin</
artifactId>
Configuration reference generation requires that opendj-config be on the runtime classpath for the plugin. It is not enough to declare it as a dependency of this module. <
artifactId>opendj-config</
artifactId>
<
id>generate-configuration-reference-doc</
id>
<
goal>generate-config-ref</
goal>
<
id>generate-global-acis-table-for-doc</
id>
<
phase>prepare-package</
phase>
<
goal>generate-global-acis-table</
goal>
<
id>generate-schema-reference-doc</
id>
<
phase>prepare-package</
phase>
<
goal>generate-schema-ref</
goal>
<
id>generate-log-reference-doc</
id>
<
goal>generate-xml-messages-doc</
goal>
<
phase>prepare-package</
phase>
<
messageFileName>admin</
messageFileName>
<
messageFileName>backend</
messageFileName>
<
messageFileName>config</
messageFileName>
<
messageFileName>core</
messageFileName>
<
messageFileName>dsconfig</
messageFileName>
<
messageFileName>extension</
messageFileName>
<
messageFileName>logger</
messageFileName>
<
messageFileName>plugin</
messageFileName>
<
messageFileName>protocol</
messageFileName>
<
messageFileName>replication</
messageFileName>
<
messageFileName>schema</
messageFileName>
<
messageFileName>task</
messageFileName>
<
messageFileName>tool</
messageFileName>
<
messageFileName>utility</
messageFileName>
<!-- Ignore following message files as we document only serious errors. --> <!-- <messageFileName>access_control</messageFileName> --> <!-- <messageFileName>admin_tool</messageFileName> --> <!-- <messageFileName>external</messageFileName> --> <
id>generate-result-code-doc</
id>
<
phase>prepare-package</
phase>
<
goal>generate-result-code-doc</
goal>
<
artifactId>maven-assembly-plugin</
artifactId>
<
id>generated-doc-sources</
id>