<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<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>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>23</version>
        <relativePath />
    </parent>

    <groupId>org.apache.unomi</groupId>
    <artifactId>unomi-root</artifactId>
    <name>Apache Unomi :: Root Project</name>
    <description>Apache Unomi is a reference implementation of the OASIS Context Server specification currently being
        worked on by the OASIS Context Server Technical Committee. It provides a high-performance user profile and
        event tracking server.
    </description>
    <url>https://unomi.apache.org</url>
    <version>2.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <organization>
        <name>Apache Software Foundation</name>
        <url>https://www.apache.org</url>
    </organization>

    <issueManagement>
        <system>JIRA</system>
        <url>https://issues.apache.org/jira/browse/UNOMI</url>
    </issueManagement>

    <ciManagement>
        <system>Jenkins</system>
        <url>https://builds.apache.org/job/unomi-master</url>
    </ciManagement>

    <inceptionYear>2014</inceptionYear>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <cxf.version>3.3.11</cxf.version>
        <version.jackson.core>2.10.5</version.jackson.core>
        <version.jackson.databind>2.10.5.1</version.jackson.databind>
        <version.jackson.jaxb>2.10.5</version.jackson.jaxb>
        <version.karaf>4.2.15</version.karaf>
        <version.karaf.cellar>4.2.1</version.karaf.cellar>
        <version.pax.exam>4.13.1</version.pax.exam>
        <elasticsearch.version>7.4.2</elasticsearch.version>
        <elasticsearch.test.version>7.11.0</elasticsearch.test.version>
        <lucene.version>8.2.0</lucene.version>
        <groovy.version>3.0.3</groovy.version>
        <networknt.version>1.0.49</networknt.version>
        <bean.validation.version>1.1.0.Final</bean.validation.version>
        <hibernate.validator.version>5.4.3.Final</hibernate.validator.version>

        <java.version>1.8</java.version>

        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <scala.version>2.12.6</scala.version>
        <encoding>UTF-8</encoding>

        <gatling.version>2.1.2</gatling.version>
        <scala-maven-plugin.version>4.3.0</scala-maven-plugin.version>

        <!-- Librairies for Karaf packaging -->
        <xerces.version>2.11.0_1</xerces.version>
        <servicemix.specs.version>2.9.0</servicemix.specs.version>
        <jsr305.bundle.version>3.0.2_1</jsr305.bundle.version>
        <xalan.bundle.version>2.7.2_3</xalan.bundle.version>
        <xalan-serializer.bundle.version>2.7.2_1</xalan-serializer.bundle.version>
        <jna.version>4.5.0</jna.version>
        <httpclient-osgi.version>4.5.5</httpclient-osgi.version>
        <httpcore-osgi.version>4.4.9</httpcore-osgi.version>

        <node.version>v12.19.0</node.version>
        <yarn.version>v1.22.5</yarn.version>

        <release.arguments>-Papache-release,integration-tests</release.arguments>

    </properties>

    <mailingLists>
        <mailingList>
            <name>unomi-dev</name>
            <subscribe>dev-subscribe@unomi.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@unomi.apache.org</unsubscribe>
            <post>dev@unomi.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/unomi-dev/</archive>
        </mailingList>
        <mailingList>
            <name>unomi-commits</name>
            <subscribe>commits-subscribe@unomi.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@unomi.apache.org</unsubscribe>
            <post>commits@unomi.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/unomi-commits/</archive>
        </mailingList>
    </mailingLists>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/unomi.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/unomi.git</developerConnection>
        <tag>HEAD</tag>
        <url>https://gitbox.apache.org/repos/asf/unomi.git</url>
    </scm>

    <developers>
        <developer>
            <id>jbonofre</id>
            <name>Jean-Baptiste Onofré</name>
            <email>jbonofre@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>champion</role>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Talend</organization>
            <organizationUrl>https://www.talend.com</organizationUrl>
        </developer>
        <developer>
            <id>shuber</id>
            <name>Serge Huber</name>
            <email>shuber@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>committer</role>
                <role>PMC Chair</role>
            </roles>
            <organization>Jahia</organization>
            <organizationUrl>https://www.jahia.com</organizationUrl>
        </developer>
        <developer>
            <id>bdelacretaz</id>
            <name>Bertrand Delacretaz</name>
            <email>bdelacretaz@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>Retired(Mentor)</role>
                <role>Retired(PPMC)</role>
            </roles>
            <organization>Adobe</organization>
        </developer>
        <developer>
            <id>rvs</id>
            <name>Roman Shaposhnik</name>
            <email>rvs@apache.org</email>
            <roles>
                <role>Retired(Mentor)</role>
                <role>Retired(PPMC)</role>
            </roles>
            <organization>Pivotal</organization>
        </developer>
        <developer>
            <id>mattmann</id>
            <name>Chris Mattmann</name>
            <email>mattmann@apache.org</email>
            <roles>
                <role>Retired(Mentor)</role>
                <role>Retired(PPMC)</role>
            </roles>
            <organization>NASA JPL</organization>
        </developer>
        <developer>
            <id>draier</id>
            <name>Thomas Draier</name>
            <email>draier@apache.org</email>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <name>Sergiy Shyrkov</name>
            <roles>
                <role>committer</role>
            </roles>
        </developer>
        <developer>
            <name>Kevan Jahanshahi</name>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <name>Cédric Mailleux</name>
            <roles>
                <role>Retired(committer)</role>
                <role>Retired(PPMC)</role>
            </roles>
        </developer>
        <developer>
            <name>Régis Mora</name>
            <roles>
                <role>Retired(committer)</role>
                <role>Retired(PPMC)</role>
            </roles>
        </developer>
        <developer>
            <name>Quentin Lamerand</name>
            <roles>
                <role>committer</role>
            </roles>
        </developer>
        <developer>
            <id>metacosm</id>
            <name>Chris Laprun</name>
            <email>metacosm@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>RedHat</organization>
            <organizationUrl>https://www.redhat.com</organizationUrl>
        </developer>
        <developer>
            <name>David Griffon</name>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>amidani</id>
            <name>Abdelkader Midani</name>
            <email>amidani@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>committer</role>
            </roles>
        </developer>
        <developer>
            <id>dgaillard</id>
            <name>Damien GAILLARD</name>
            <email>dgaillard@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>committer</role>
            </roles>
        </developer>
        <developer>
            <id>fpapon</id>
            <name>Francois Papon</name>
            <email>fpapon@apache.org</email>
            <timezone>+4</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Yupiik</organization>
            <organizationUrl>https://www.yupiik.com</organizationUrl>
        </developer>
    </developers>

    <distributionManagement>
        <site>
            <id>website</id>
            <!-- we put a fake URL here for staging to work -->
            <url>scp://www.mycompany.com/www/docs/project/</url>
        </site>
    </distributionManagement>

    <repositories>
        <repository>
            <id>smx.m2</id>
            <name>Apache ServiceMix M2</name>
            <url>https://svn.apache.org/repos/asf/servicemix/m2-repo/</url>
        </repository>
        <!-- Apache snapshots -->
        <repository>
            <id>apache-snapshots</id>
            <name>Apache Snapshots Repository</name>
            <url>https://repository.apache.org/content/groups/snapshots-group</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <!-- OPS4J SNAPSHOT repository -->
        <repository>
            <id>ops4j.sonatype.snapshots.deploy</id>
            <name>OPS4J snapshot repository</name>
            <url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <profiles>
        <profile>
            <id>integration-tests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>itests</module>
            </modules>
        </profile>

        <profile>
            <id>ci-build-itests</id>
            <activation>
                <property>
                    <name>maven.repo.local</name>
                </property>
            </activation>
            <modules>
                <module>itests</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>MavenTest</exclude>
                            </excludes>
                            <systemPropertyVariables>
                                <org.ops4j.pax.url.mvn.localRepository>${maven.repo.local}</org.ops4j.pax.url.mvn.localRepository>
                                <org.ops4j.pax.logging.DefaultServiceLog.level>INFO</org.ops4j.pax.logging.DefaultServiceLog.level>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>checkstyle</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>2.13</version>
                        <executions>
                            <execution>
                                <id>verify-style</id>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <consoleOutput>true</consoleOutput>
                            <failsOnError>true</failsOnError>
                            <logViolationsToConsole>true</logViolationsToConsole>
                            <checkstyleRules>
                                <module name="Checker">
                                    <module name="TreeWalker">
                                        <module name="JavadocType" />
                                        <module name="JavadocMethod">
                                            <property name="scope" value="public" />
                                            <property name="allowMissingPropertyJavadoc" value="true" />
                                        </module>
                                        <module name="UnusedImports" />
                                        <module name="ConstantName">
                                            <property name="applyToProtected" value="false" />
                                            <property name="applyToPackage" value="false" />
                                            <property name="applyToPrivate" value="false" />
                                        </module>
                                        <module name="EmptyBlock">
                                            <property name="option" value="text" />
                                        </module>
                                        <module name="NeedBraces" />
                                        <module name="EqualsHashCode" />
                                        <module name="MagicNumber">
                                            <property name="ignoreNumbers" value=" -1, 0, 1, 2, 3, 17, 24, 31, 37, 60, 255, 256, 1000" />
                                        </module>
                                        <module name="SimplifyBooleanReturn" />
                                        <module name="IllegalCatch">
                                            <property name="illegalClassNames" value=" java.lang.Throwable" />
                                        </module>
                                        <module name="MultipleVariableDeclarations" />
                                        <module name="OneStatementPerLine" />
                                        <module name="RedundantModifier" />
                                    </module>
                                </module>
                            </checkstyleRules>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>update-licenses</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <version>2.0.0</version>
                        <configuration>
                            <verbose>false</verbose>
                            <addSvnKeyWords>true</addSvnKeyWords>
                            <licenseName>apache_v2</licenseName>
                        </configuration>
                        <executions>
                            <execution>
                                <id>first</id>
                                <goals>
                                    <goal>update-file-header</goal>
                                </goals>
                                <phase>process-sources</phase>
                                <configuration>
                                    <excludes>
                                        <exclude>**/*.json</exclude>
                                        <exclude>**/beans.xml</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>rat</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <version>0.11</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
                            <excludeSubProjects>false</excludeSubProjects>
                            <excludes>
                                <exclude>**/NOTICE.template</exclude>
                                <exclude>**/NOTICE-generated</exclude>
                                <exclude>**/DEPENDENCIES</exclude>
                                <exclude>**/target/**/*</exclude>
                                <!-- Github configuration files -->
                                <exclude>**/.github/**/*</exclude>
                                <!-- GIT files -->
                                <exclude>**/.git/**/*</exclude>
                                <!-- IDEA files -->
                                <exclude>**/.idea/**/*</exclude>
                                <exclude>**/*.iml</exclude>
                                <exclude>**/*.ipr</exclude>
                                <exclude>**/*.iws</exclude>
                                <!-- Eclipse files -->
                                <exclude>**/.*</exclude>
                                <exclude>**/eclipse-classes/**/*</exclude>
                                <exclude>**/dependency-reduced-pom.xml</exclude>
                                <exclude>**/.settings/**</exclude>
                                <exclude>**/bin/**</exclude>
                                <!-- resources file -->
                                <exclude>**/goal.txt</exclude>
                                <exclude>**/grep.txt</exclude>
                                <exclude>**/edit.txt</exclude>
                                <exclude>**/wc.txt</exclude>
                                <exclude>**/foo</exclude>
                                <exclude>**/org.ops4j.pax.exam.TestContainerFactory</exclude>
                                <exclude>**/maven-metadata-local.xml</exclude>
                                <exclude>**/src/test/resources/data/*.txt</exclude>
                                <!-- Test resources CSV -->
                                <exclude>**/src/test/resources/**/*.csv</exclude>
                                <exclude>**/keystore</exclude>
                                <!--manual resources -->
                                <exclude>**/*.css</exclude>
                                <exclude>**/*.ssp</exclude>
                                <exclude>**/*.conf</exclude>
                                <exclude>**/*.min.js</exclude>
                                <!-- test manifests -->
                                <exclude>**/*.mf</exclude>
                                <!-- test json files -->
                                <exclude>**/*.json</exclude>
                                <!-- nd json files -->
                                <exclude>**/*.ndjson</exclude>
                                <!-- SSH keys -->
                                <exclude>**/*.key</exclude>
                                <!-- For Jenkins, ignore the .repository -->
                                <exclude>.repository/**</exclude>
                                <!-- jar files -->
                                <exclude>**/*.jar</exclude>
                                <!-- Empty CDI descriptor file -->
                                <exclude>**/src/main/webapp/WEB-INF/beans.xml</exclude>
                                <!-- Web application robots.txt file -->
                                <exclude>**/src/main/webapp/robots.txt</exclude>
                                <!-- ignore generated log files -->
                                <exclude>**/*.log</exclude>
                                <!-- exclude node_modules directories and JS package manager files -->
                                <exclude>**/node_modules/**/*</exclude>
                                <exclude>**/node/**/*</exclude>
                                <exclude>**/yarn.lock</exclude>
                                <exclude>**/*.js.map</exclude>
                            </excludes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-notice</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jasig.maven</groupId>
                        <artifactId>maven-notice-plugin</artifactId>
                        <!--version>1.0.7-SNAPSHOT</version-->
                        <version>1.0.6</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <fileName>NOTICE-generated</fileName>
                            <generateChildNotices>false</generateChildNotices>
                            <!-- The following options are only available in the fork here : https://github.com/Jasig/maven-notice-plugin/pull/4 . If it gets accepted we can reactivate -->
                            <!--licenseNameAliases>
                                <property>
                                    <name>Apache License, Version 2.0</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                                <property>
                                    <name>Apache 2</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                                <property>
                                    <name>ALv2</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                                <property>
                                    <name>Apache 2.0 License</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                                <property>
                                    <name>Apache License 2.0</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                                <property>
                                    <name>Apache License Version 2.0</name>
                                    <value>The Apache Software License, Version 2.0</value>
                                </property>
                            </licenseNameAliases>
                            <noticeMessage>\nThis product includes the software {0}.\nLicensed under the {1}.\n{7}</noticeMessage-->
                            <noticeTemplate>NOTICE.template</noticeTemplate>
                            <licenseMapping>
                                <param>https://source.jasig.org/licenses/license-mappings.xml</param>
                                <param>license-mappings.xml</param>
                            </licenseMapping>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>owasp</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.owasp</groupId>
                        <artifactId>dependency-check-maven</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>aggregate</goal>
                                </goals>
                                <inherited>false</inherited>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.owasp</groupId>
                        <artifactId>dependency-check-maven</artifactId>
                        <inherited>false</inherited>
                        <configuration>
                            <name>OWASP Dependency Check</name>
                        </configuration>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>aggregate</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <profile>
            <id>apache-release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>source-release-assembly</id>
                                <phase>none</phase>
                            </execution>
                            <execution>
                                <id>unomi-source-release-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                                    <descriptors>
                                        <descriptor>src/main/resources/assemblies/source-release.xml</descriptor>
                                    </descriptors>
                                    <tarLongFileMode>posix</tarLongFileMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>docker</id>
            <modules>
                <module>docker</module>
            </modules>
        </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.core</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.cmpn</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.0.1</version>
            </dependency>

            <!-- Apache CXF dependencies -->
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxws</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-security-cors</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <!-- scope is runtime so the feature repo is listed in the features service config file, and features may be installed using the karaf-maven-plugin configuration -->
                <groupId>org.apache.cxf.karaf</groupId>
                <artifactId>apache-cxf</artifactId>
                <version>${cxf.version}</version>
                <classifier>features</classifier>
                <type>xml</type>
                <scope>runtime</scope>
            </dependency>
            <!-- End of Apache CXF dependencies -->

            <!-- Jackson dependencies -->
            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>${version.jackson.core}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${version.jackson.core}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${version.jackson.databind}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>${version.jackson.jaxb}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${version.jackson.core}</version>
                <scope>provided</scope>
            </dependency>
            <!-- End of Jackson dependencies -->

            <!-- Apache Commons dependencies -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.3.2</version>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.4</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-email</artifactId>
                <version>1.3.3</version>
            </dependency>
            <!-- End of Apache Commons dependencies -->

            <!-- Apache Karaf dependencies -->
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>framework</artifactId>
                <version>${version.karaf}</version>
                <type>kar</type>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>framework</artifactId>
                <classifier>features</classifier>
                <version>${version.karaf}</version>
                <type>xml</type>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>standard</artifactId>
                <classifier>features</classifier>
                <version>${version.karaf}</version>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>spring</artifactId>
                <classifier>features</classifier>
                <version>${version.karaf}</version>
                <type>xml</type>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>enterprise</artifactId>
                <classifier>features</classifier>
                <version>${version.karaf}</version>
                <type>xml</type>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>apache-karaf-cellar</artifactId>
                <classifier>features</classifier>
                <version>${version.karaf.cellar}</version>
                <type>xml</type>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.core</artifactId>
                <version>${version.karaf.cellar}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.config</artifactId>
                <version>${version.karaf.cellar}</version>
            </dependency>

            <!-- End of Apache Karaf dependencies -->

            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-features</artifactId>
                <version>3.1.0</version>
                <classifier>features</classifier>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.6</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient-osgi</artifactId>
                <version>${httpclient-osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient-osgi</artifactId>
                <version>${httpclient-osgi.version}</version>
                <type>bundle</type>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore-osgi</artifactId>
                <version>${httpcore-osgi.version}</version>
            </dependency>

            <!-- Dependencies for pax exam karaf container -->
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-karaf</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-aether</artifactId>
                <version>1.6.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
                <scope>test</scope>
            </dependency>

            <!-- dependencies for bean validation -->
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${bean.validation.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate.validator.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.carrotsearch</groupId>
                <artifactId>junit-benchmarks</artifactId>
                <version>0.7.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.4.181</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.gatling</groupId>
                <artifactId>gatling-app</artifactId>
                <version>${gatling.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gatling</groupId>
                <artifactId>gatling-recorder</artifactId>
                <version>${gatling.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gatling.highcharts</groupId>
                <artifactId>gatling-charts-highcharts</artifactId>
                <version>${gatling.version}</version>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.jakarta-regexp</artifactId>
                <version>1.4_1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.joda-time</artifactId>
                <version>2.3_1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>ognl</groupId>
                <artifactId>ognl</artifactId>
                <version>3.2.14</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.24.1-GA</version>
            </dependency>
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>ST4</artifactId>
                <version>4.0.8</version>
                <classifier>complete</classifier>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.json</artifactId>
                <version>1.0.4</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jcdi_1.0_spec</artifactId>
                <version>1.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-atinject_1.0_spec</artifactId>
                <version>1.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-annotation_1.1_spec</artifactId>
                <version>1.0.1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.mvel</groupId>
                <artifactId>mvel2</artifactId>
                <version>2.4.7.Final</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <modules>
        <module>api</module>
        <module>common</module>
        <module>metrics</module>
        <module>scripting</module>
        <module>persistence-spi</module>
        <module>lifecycle-watcher</module>
        <module>persistence-elasticsearch</module>
        <module>services</module>
        <module>rest</module>
        <module>graphql</module>
        <module>wab</module>
        <module>plugins</module>
        <module>extensions</module>
        <module>tools</module>
        <module>manual</module>
        <module>kar</module>
        <module>samples</module>
        <module>package</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>4.2.1</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                        </instructions>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <useReleaseProfile>false</useReleaseProfile>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <arguments>${release.arguments}</arguments>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.10</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${version.karaf}</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <additionalDependencies>
                            <additionalDependency>
                                <groupId>org.eclipse.jetty</groupId>
                                <artifactId>jetty-client</artifactId>
                                <version>7.4.4.v20110707</version>
                            </additionalDependency>
                            <additionalDependency>
                                <groupId>org.eclipse.jetty</groupId>
                                <artifactId>jetty-util</artifactId>
                                <version>7.4.4.v20110707</version>
                            </additionalDependency>
                        </additionalDependencies>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>1.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <!-- Version more recent than 2.18.1 don't seem to work ! -->
                    <version>2.18.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <!-- Version more recent than 2.18.1 don't seem to work ! -->
                    <version>2.18.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1.2</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-publish-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>5.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </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-site-plugin</artifactId>
                <version>3.4</version>
                <dependencies>
                    <dependency>
                        <groupId>lt.velykis.maven.skins</groupId>
                        <artifactId>reflow-velocity-tools</artifactId>
                        <version>1.1.1</version>
                    </dependency>
                    <!-- Reflow skin requires Velocity >= 1.7  -->
                    <dependency>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity</artifactId>
                        <version>1.7</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.11</version>
            </plugin>
            <plugin>
                <groupId>external.atlassian.jgitflow</groupId>
                <artifactId>jgitflow-maven-plugin</artifactId>
                <version>1.0-m5.1</version>
                <configuration>
                    <flowInitContext>
                        <masterBranchName>production</masterBranchName>
                        <developBranchName>master</developBranchName>
                        <featureBranchPrefix>feature-</featureBranchPrefix>
                        <releaseBranchPrefix>release-</releaseBranchPrefix>
                        <hotfixBranchPrefix>hotfix-</hotfixBranchPrefix>
                        <versionTagPrefix>blither-</versionTagPrefix>
                    </flowInitContext>
                    <allowSnapshots>true</allowSnapshots>
                    <allowUntracked>true</allowUntracked>
                    <enableFeatureVersions>true</enableFeatureVersions>
                    <noFeatureBuild>true</noFeatureBuild>
                    <scmCommentPrefix>[jgitflow-maven-plugin] </scmCommentPrefix>
                </configuration>
            </plugin>
        </plugins>

    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

</project>
