<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ The contents of this file are subject to the terms of the Common Development and
  ~ Distribution License (the License). You may not use this file except in compliance with the
  ~ License.
  ~
  ~ You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  ~ specific language governing permission and limitations under the License.
  ~
  ~ When distributing Covered Software, include this CDDL Header Notice in each file and include
  ~ the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  ~ Header, with the fields enclosed by brackets [] replaced by your own identifying
  ~ information: "Portions copyright [year] [name of copyright owner]".
  ~
  ~ Copyright 2011-2016 ForgeRock AS.
  ~ Portions copyright 2019-2026 3A Systems, LLC.
  -->
<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>
    <groupId>org.openidentityplatform.openidm</groupId>
    <artifactId>openidm-project</artifactId>
    <version>7.1.0</version>
    <packaging>pom</packaging>
    <name>OpenIDM project</name>
    <description>OpenIDM is an open standards based Identity Management, Provisioning and Compliance solution.
        Experience shows that the most important features of an identity management product are: high flexibility in
        Business Process handling and compliance with open standards and interfaces. A highly flexible user interface
        combined with a very robust workflow engine make OpenIDM ready for any Identity Management project.
    </description>
    <inceptionYear>2011</inceptionYear>
    <url>https://github.com/OpenIdentityPlatform/OpenIDM</url>
    <licenses>
        <license>
            <name>CDDL-1.0</name>
            <url>http://www.opensource.org/licenses/cddl1.php</url>
            <comments>Common Development and Distribution License (CDDL) 1.0.
                This license applies to OpenIDM source code as indicated in the
                source code.
            </comments>
            <distribution>repo</distribution>
        </license>
        <license>
            <name>CC BY-NC-ND 3.0</name>
            <url>http://creativecommons.org/licenses/by-nc-nd/3.0/</url>
            <comments>Creative Commons Attribution-NonCommercial-NoDerivs 3.0
                Unported. This license applies to the site content, and to the
                documentation as indicated in the documentation source code.
            </comments>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>Open Identity Platform Community</id>
            <name>Open Identity Platform Community</name>
            <email>open-identity-platform@googlegroups.com</email>
            <organization>Open Identity Platform Community</organization>
            <organizationUrl>https://www.openidentityplatform.org/</organizationUrl>
            <url>https://github.com/OpenIdentityPlatform/OpenIDM</url>
        </developer>
    </developers>
    <issueManagement>
        <system>github.com</system>
        <url>https://github.com/OpenIdentityPlatform/OpenIDM/issues</url>
    </issueManagement>
    <scm>
        <connection>scm:git:https://github.com/OpenIdentityPlatform/OpenIDM.git</connection>
        <developerConnection>scm:git:https://github.com/OpenIdentityPlatform/OpenIDM.git</developerConnection>
        <url>https://github.com/OpenIdentityPlatform/OpenIDM</url>
        <tag>7.1.0</tag>
    </scm>
    <repositories>
        <repository>
	    <name>Central Portal Snapshots</name>
	    <id>central-portal-snapshots</id>
	    <url>https://central.sonatype.com/repository/maven-snapshots/</url>
	    <releases>
		<enabled>false</enabled>
	    </releases>
	    <snapshots>
		<enabled>true</enabled>
	    </snapshots>
	</repository>
        <repository>
            <id>jboss-nexus-public</id>
            <name>JBoss Nexus Public Repository</name>
            <url>https://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
		<name>Central Portal Snapshots</name>
	    <id>central-portal-snapshots</id>
	    <url>https://central.sonatype.com/repository/maven-snapshots/</url>
		<snapshots>
			<enabled>true</enabled>
		</snapshots>
	</pluginRepository>
    </pluginRepositories>

    <mailingLists>
        <mailingList>
            <name>OpenIDM Community</name>
            <post>open-identity-platform-openidm@googlegroups.com</post>
            <subscribe>https://groups.google.com/d/forum/open-identity-platform-openidm</subscribe>
            <unsubscribe>https://groups.google.com/d/forum/open-identity-platform-openidm</unsubscribe>
            <archive>https://groups.google.com/d/forum/open-identity-platform-openidm</archive>
        </mailingList>
    </mailingLists>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.source>17</maven.compiler.source>


        <!-- Third party dependency versions -->
        <mybatis.version>3.5.16</mybatis.version>
        <orientdb.version>3.2.51</orientdb.version>
        <orientdb.studio.version>1.7.10</orientdb.studio.version>
        <javascript.maven.plugin.version>2.0.0-alpha-1</javascript.maven.plugin.version>
        <joda-time.version>2.9.4</joda-time.version>
        <h2.version>2.2.220</h2.version>
        <paxweb.version>11.0.0</paxweb.version>
        <jetty.version>12.0.32</jetty.version>
        <grizzly.version>4.0.2</grizzly.version>
        <javax.inject.version>1_2</javax.inject.version>
        <xbean.version>4.27</xbean.version>
        <asm.version>9.9.1</asm.version>
        <!-- quartz 2.x is not compatible yet -->
        <quartz.version>1.8.6_1</quartz.version>
        <groovy.version>2.4.21</groovy.version>

        <!-- OSGi/Felix versions -->
        <!-- Felix 6.0 Framework implements OSGi R7 specification -->
        <osgi.core.version>7.0.0</osgi.core.version>
        <osgi.compendium.version>7.0.0</osgi.compendium.version>
        <osgi.enterprise.version>7.0.0</osgi.enterprise.version>
        <osgi.promise.version>1.1.1</osgi.promise.version>
        <osgi.function.version>1.1.0</osgi.function.version>
        <osgi.pushstream.version>1.0.1</osgi.pushstream.version>
        <osgi.whiteboard.version>1.1.1</osgi.whiteboard.version>

        <felix.framework.version>7.0.5</felix.framework.version>
        <felix.configadmin.version>1.9.26</felix.configadmin.version>
        <felix.eventadmin.version>1.6.4</felix.eventadmin.version>
        <felix.gogo.shell.version>1.1.4</felix.gogo.shell.version>
        <felix.inventory.version>1.0.6</felix.inventory.version>

        <felix.metatype.version>1.1.2</felix.metatype.version>
        <felix.fileinstall.version>3.6.4</felix.fileinstall.version>
        <felix.log.version>1.3.0</felix.log.version>
        <felix.scr.version>2.1.20</felix.scr.version>
        <felix.shell.version>1.4.3</felix.shell.version>
        <felix.shell.tui.version>1.4.1</felix.shell.tui.version>
        <felix.webconsole.version>5.0.12</felix.webconsole.version>
        <felix.webconsole.ds.version>2.1.0</felix.webconsole.ds.version>
        <felix.webconsole.event.version>1.1.8</felix.webconsole.event.version>
        <felix.webconsole.memoryusage.version>1.0.10</felix.webconsole.memoryusage.version>
        <felix.webconsole.obr.version>1.1.0</felix.webconsole.obr.version>
        <felix.webconsole.packageadmin.version>1.0.4</felix.webconsole.packageadmin.version>
        <felix.servlet.version>6.1.0</felix.servlet.version>

        <!-- Site properties -->
        <siteDistributionURL>scp://community.internal.forgerock.com/var/www/vhosts/openidm.forgerock.org/httpdocs</siteDistributionURL>

        <!-- OSGi bundles properties -->
        <openidm.osgi.import.before.defaults />
        <openidm.osgi.import.defaults />
        <openidm.osgi.import.additional />
        <openidm.osgi.import>
            ${openidm.osgi.import.before.defaults},
            ${openidm.osgi.import.defaults},
            ${openidm.osgi.import.additional},
            *
        </openidm.osgi.import>

        <!-- Apache Commons versions -->
        <apache.commons-codec.version>1.17.2</apache.commons-codec.version>
        <ant.contrib.version>1.0b3</ant.contrib.version>

        <java.surefire.options>
            --add-opens java.base/java.lang=ALL-UNNAMED
            --add-opens java.base/java.io=ALL-UNNAMED
            --add-opens java.base/java.security=ALL-UNNAMED
            --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
            --enable-native-access=ALL-UNNAMED
        </java.surefire.options>
        <java.surefire.unsafe.options />
    </properties>

    <modules>
        <module>openidm-audit</module>
        <module>openidm-cluster</module>
        <module>openidm-config</module>
        <module>openidm-core</module>
        <module>openidm-crypto</module>
        <module>openidm-enhanced-config</module>
        <module>openidm-external-email</module>
        <module>openidm-external-rest</module>
        <module>openidm-felix-webconsole</module>
        <module>openidm-httpcontext</module>
        <module>openidm-identity-provider</module>
        <module>openidm-infoservice</module>
        <module>openidm-customendpoint</module>
        <module>openidm-jetty-fragment</module>
        <module>openidm-keystore</module>
        <module>openidm-messaging</module>
        <module>openidm-policy</module>
        <module>openidm-provisioner-openicf</module>
        <module>openidm-provisioner</module>
        <module>openidm-repo-jdbc</module>
        <module>openidm-repo-orientdb</module>
        <module>openidm-repo</module>
        <module>openidm-authnfilter</module>
        <module>openidm-api-servlet</module>
        <module>openidm-router</module>
        <module>openidm-servlet</module>
        <module>openidm-servlet-registrator</module>
        <module>openidm-quartz-fragment</module>
        <module>openidm-scheduler</module>
        <module>openidm-script</module>
        <module>openidm-security-jetty</module>
        <module>openidm-selfservice</module>
        <module>openidm-shell</module>
        <module>openidm-security</module>
        <module>openidm-smartevent</module>
        <module>openidm-system</module>
        <module>openidm-ui</module>
        <module>openidm-util</module>
        <module>openidm-workflow-activiti</module>
        <module>openidm-maintenance</module>
        <module>openidm-doc</module>
        <!--module>openidm-workflow-remote</module-->
        <module>openidm-zip</module>
        <module>custom-scripted-connector-bundler</module>
        <module>openidm-rhino</module>
    </modules>

    <profiles>
        <profile>
            <id>release-sign-artifacts</id>
            <activation>
                <property>
                    <name>gpg.passphrase</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <configuration>
                            <passphrase>${gpg.passphrase}</passphrase>
                            <useAgent>true</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jrebel</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.zeroturnaround</groupId>
                        <artifactId>jrebel-maven-plugin</artifactId>
                        <version>1.1.3</version>
                        <configuration>
                            <packaging>jar</packaging>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-rebel-xml</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <configuration>
                            <instructions>
                                <Include-Resource>{maven-resources},target/classes/rebel.xml</Include-Resource>
                            </instructions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- To scan the licenses -->
            <id>generateLicenseReport</id>
            <build>
                <plugins>
                    <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>license-maven-plugin</artifactId>
                      <version>1.7</version>
                      <executions>
                        <execution>
                          <id>aggregate-add-third-party</id>
                          <goals>
                            <goal>aggregate-add-third-party</goal>
                          </goals>
                          <configuration>
                            <useMissingFile>true</useMissingFile>
                            <fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByLicense.ftl</fileTemplate>
                            <failIfWarning>true</failIfWarning>
                            <licenseMerges>
                              <licenseMerge>Apache 2.0|
                                            The Apache Software License, Version 2.0|
                                            Apache v2|Apache 2|ASL, version 2|
                                            Apache License, Version 2.0|
                                            Apache License|
                                            Apache-2.0|
                                            ALv2|
                                            Apache 2.0 license|
                                            Apache License Version 2.0|
                                            Apache Software License - Version 2.0|
                                            Apache License 2.0</licenseMerge>
                              <licenseMerge>CDDL 1.0|
                                            COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|
                                            CDDL|
                                            CDDL-1.0|
                                            CDDL 1.0 license|
                                            Common Development and Distribution License (CDDL) v1.0</licenseMerge>
                              <licenseMerge>MIT|
                                            MIT License|
                                            The MIT License</licenseMerge>
                              <licenseMerge>GPL-2.0|
                                            The GNU General Public License, Version 2</licenseMerge>
                              <licenseMerge>LGPL license|
                                            GNU Lesser General Public License|
                                            GNU LESSER GENERAL PUBLIC LICENSE</licenseMerge>
                              <licenseMerge>LGPL 2.1 license|
                                            LGPL, version 2.1|
                                            GNU Lesser General Public License, Version 2.1</licenseMerge>
                            </licenseMerges>
                          </configuration>
                        </execution>
                      </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
            On JDK 23+ the legacy sun.misc.Unsafe memory access methods (still
            used by org.apache.felix.framework.util.SecureAction#staticFieldOffset)
            emit "terminally deprecated method has been called" warnings and will
            be removed in a future release. Allow them explicitly so the test
            JVM stays quiet until Felix Framework drops sun.misc.Unsafe usage.
        -->
        <profile>
            <id>jdk23-allow-unsafe-memory-access</id>
            <activation>
                <jdk>[23,)</jdk>
            </activation>
            <properties>
                <java.surefire.unsafe.options>--sun-misc-unsafe-memory-access=allow</java.surefire.unsafe.options>
            </properties>
        </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>
            <!--    mvn versions:display-plugin-updates
                    mvn versions:display-dependency-updates
                    mvn versions:use-latest-versions
            -->
            <dependency>
                <groupId>org.openidentityplatform</groupId>
                <artifactId>openicf</artifactId>
                <version>2.0.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Commons -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${apache.commons-codec.version}</version>
            </dependency>

            <!-- Java EE -->
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>6.1.0</version>
                <scope>provided</scope>
            </dependency>

            <!-- Core OSGi -->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.core</artifactId>
                <version>${osgi.core.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.cmpn</artifactId>
                <version>${osgi.compendium.version}</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.enterprise</artifactId>
                <version>${osgi.enterprise.version}</version>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.util.promise</artifactId>
                <version>${osgi.promise.version}</version>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.util.function</artifactId>
                <version>${osgi.function.version}</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.util.pushstream</artifactId>
                <version>${osgi.pushstream.version}</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.service.http.whiteboard</artifactId>
                <version>${osgi.whiteboard.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${felix.framework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.inventory</artifactId>
                <version>${felix.inventory.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.shell</artifactId>
                <version>${felix.shell.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.compendium</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.shell.tui</artifactId>
                <version>${felix.shell.tui.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.compendium</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole</artifactId>
                <version>${felix.webconsole.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole.plugins.ds</artifactId>
                <version>${felix.webconsole.ds.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole.plugins.event</artifactId>
                <version>${felix.webconsole.event.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole.plugins.memoryusage</artifactId>
                <version>${felix.webconsole.memoryusage.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole.plugins.obr</artifactId>
                <version>${felix.webconsole.obr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole.plugins.packageadmin</artifactId>
                <version>${felix.webconsole.packageadmin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.prefs</artifactId>
                <version>1.1.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.configadmin</artifactId>
                <version>${felix.configadmin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.gogo.shell</artifactId>
                <version>${felix.gogo.shell.version}</version>
                <!-- The spring repository currently serves up a pom with false dependency on this file. Remove it. -->
                <exclusions>
                    <exclusion>
                        <groupId>org.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>${felix.eventadmin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.log</artifactId>
                <version>${felix.log.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.compendium</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.fileinstall</artifactId>
                <version>${felix.fileinstall.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.metatype</artifactId>
                <version>${felix.metatype.version}</version>
            </dependency>

            <!-- Declarative Services support -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.scr</artifactId>
                <version>${felix.scr.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.http.servlet-api</artifactId>
                <version>${felix.servlet.version}</version>
            </dependency>

            <!-- Quartz based scheduler OSGi bundle.
                 This version wraps the original jar which is not a bundle
            -->
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.javax-inject</artifactId>
                <version>${javax.inject.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${groovy.version}</version>
            </dependency>

            <!-- Pax Web Dependencies -->
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-api</artifactId>
                <version>${paxweb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-extender-whiteboard</artifactId>
                <version>${paxweb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-jetty</artifactId>
                <version>${paxweb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.ee10</groupId>
                <artifactId>jetty-ee10-servlets</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.ee10</groupId>
                <artifactId>jetty-ee10-servlet</artifactId>
                <version>${jetty.version}</version>
            </dependency>

            <!-- H2 Database -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>

            <!-- MyBatis: override transitive dependency from activiti-engine to address CVE -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>

            <dependency>
                <groupId>net.lingala.zip4j</groupId>
                <artifactId>zip4j</artifactId>
                <version>2.11.5</version>
            </dependency>

            <dependency>
                <groupId>com.googlecode.java-diff-utils</groupId>
                <artifactId>diffutils</artifactId>
                <version>1.3.0</version>
            </dependency>

            <!-- Test Dependencies -->
            <dependency>
                <groupId>org.codehaus.jstestrunner</groupId>
                <artifactId>jstestrunner-junit</artifactId>
                <version>1.0.2</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-jcl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.3.15</version>
                <scope>test</scope>
            </dependency>
			<dependency>
			  <groupId>org.mockito</groupId>
			  <artifactId>mockito-all</artifactId>
			  <version>1.10.19</version>
			  <scope>test</scope>
			</dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-framework</artifactId>
                <version>${grizzly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http-servlet</artifactId>
                <version>${grizzly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http</artifactId>
                <version>${grizzly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http-server</artifactId>
                <version>${grizzly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-websockets</artifactId>
                <version>${grizzly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-annotations</artifactId>
                <version>1.24</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-email</artifactId>
                <version>1.6.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.3.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <doclint>none</doclint>
                    <notimestamp>true</notimestamp>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.8.0</version>
                <extensions>true</extensions>
                <configuration>
                    <publishingServerId>ossrh</publishingServerId>
                    <autoPublish>true</autoPublish>
                    <waitMaxTime>5400</waitMaxTime>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.14.0</version>
                    <configuration>
                        <fork>true</fork>
                        <release>${maven.compiler.target}</release>
                        <compilerArgs>
                            <arg>-XDignore.symbol.file</arg>
                            <arg>-Xlint:unchecked</arg>
                        </compilerArgs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.2.5</version>
                    <configuration>
                        <argLine>${java.surefire.options} ${java.surefire.unsafe.options}</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.2.5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.7.1</version>
                </plugin>
                <plugin>
                    <groupId>org.openidentityplatform.commons.i18n-framework</groupId>
                    <artifactId>maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>generate-messages</goal>
                            </goals>
                            <configuration>
                                <messageFiles>
                                    <messageFile>com/example/my_tool.properties</messageFile>
                                </messageFiles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <!-- version >= 2.5.4 introduces timestamp bug on UI files - see OPENIDM-5264 -->
                    <version>5.1.1</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <Import-Package>${openidm.osgi.import}</Import-Package>
                            <!--_versionpolicy>${openidm.osgi.import.default.version}</_versionpolicy-->
                            <_nodefaultversion>false</_nodefaultversion>
                            <_metatype>**/*MetaType*</_metatype>
                            <_removeheaders>
                                Bnd-LastModified,Built-By,Private-Package,Tool,Build-Jdk,Include-Resource,Ignore-Package,Private-Package,Bundle-DocURL
                            </_removeheaders>
                            <Include-Resource>{maven-resources}</Include-Resource>
                        </instructions>
                    </configuration>
                </plugin>


                <!--This plugin's configuration is used to store Eclipse m2e settings
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.codehaus.mojo
                                        </groupId>
                                        <artifactId>
                                            js-import-maven-plugin
                                        </artifactId>
                                        <versionRange>
                                            [1.0.0,)
                                        </versionRange>
                                        <goals>
                                            <goal>import-js</goal>
                                            <goal>generate-html</goal>
                                            <goal>
                                                test-generate-html
                                            </goal>
                                            <goal>test-import-js</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>true</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.codehaus.mojo
                                        </groupId>
                                        <artifactId>
                                            jslint-maven-plugin
                                        </artifactId>
                                        <versionRange>
                                            [1.0.1,)
                                        </versionRange>
                                        <goals>
                                            <goal>test-jslint</goal>
                                            <goal>jslint</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>true</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jslint-maven-plugin</artifactId>
                    <version>1.0.1</version>
                    <configuration>
                        <assumeConsoleAlertEtc>true</assumeConsoleAlertEtc>
                        <strictWhiteSpace>false</strictWhiteSpace>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>webminifier-maven-plugin</artifactId>
                    <version>1.0.1</version>
                    <executions>
                        <execution>
                            <id>default-minify-js</id>
                            <phase>none</phase>
                            <goals>
                                <goal>minify-js</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.6</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>cim</report>
                            <report>dependencies</report>
                            <report>dependency-convergence</report>
                            <report>dependency-management</report>
                            <report>distribution-management</report>
                            <report>index</report>
                            <report>issue-tracking</report>
                            <report>license</report>
                            <report>mailing-list</report>
                            <report>modules</report>
                            <report>plugin-management</report>
                            <report>plugins</report>
                            <!--report>project-team</report-->
                            <report>scm</report>
                            <report>summary</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>
</project>
