<?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>
    </parent>

    <groupId>org.apache.knox</groupId>
    <artifactId>gateway</artifactId>
    <version>1.6.1</version>
    <packaging>pom</packaging>

    <name>gateway</name>
    <description>The Apache Knox Project</description>
    <url>https://knox.apache.org/</url>

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

    <mailingLists>
        <mailingList>
            <name>Apache Knox User List</name>
            <subscribe>user-subscribe@knox.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@knox.apache.org</unsubscribe>
            <post>user@knox.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/knox-user/</archive>
        </mailingList>
        <mailingList>
            <name>Apache Knox Development List</name>
            <subscribe>dev-subscribe@knox.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@knox.apache.org</unsubscribe>
            <post>dev@knox.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/knox-dev/</archive>
        </mailingList>
    </mailingLists>

    <modules>
        <module>build-tools</module>
        <module>gateway-test-utils</module>
        <module>gateway-util-common</module>
        <module>gateway-util-configinjector</module>
        <module>gateway-util-launcher</module>
        <module>gateway-util-urltemplate</module>
        <module>gateway-demo-ldap</module>
        <module>gateway-demo-ldap-launcher</module>
        <module>gateway-i18n</module>
        <module>gateway-i18n-logging-log4j</module>
        <module>gateway-i18n-logging-sl4j</module>
        <module>gateway-spi</module>
        <module>gateway-discovery-ambari</module>
        <module>gateway-discovery-cm</module>
        <module>gateway-performance-test</module>
        <module>gateway-server</module>
        <module>gateway-server-launcher</module>
        <module>gateway-server-xforwarded-filter</module>
        <module>gateway-provider-rewrite</module>
        <module>gateway-provider-rewrite-common</module>
        <module>gateway-provider-rewrite-func-hostmap-static</module>
        <module>gateway-provider-rewrite-func-service-registry</module>
        <module>gateway-provider-rewrite-func-inbound-query-param</module>
        <module>gateway-provider-rewrite-step-secure-query</module>
        <module>gateway-provider-rewrite-step-encrypt-uri</module>
        <module>gateway-provider-security-jwt</module>
        <module>gateway-provider-security-webappsec</module>
        <module>gateway-provider-security-preauth</module>
        <module>gateway-provider-security-hadoopauth</module>
        <module>gateway-provider-security-clientcert</module>
        <module>gateway-provider-security-shiro</module>
        <module>gateway-provider-security-pac4j</module>
        <module>gateway-provider-security-authz-acls</module>
        <module>gateway-provider-security-authz-composite</module>
        <module>gateway-provider-security-authc-anon</module>
        <module>gateway-provider-identity-assertion-common</module>
        <module>gateway-provider-identity-assertion-concat</module>
        <module>gateway-provider-identity-assertion-hadoop-groups</module>
        <module>gateway-provider-identity-assertion-regex</module>
        <module>gateway-provider-identity-assertion-switchcase</module>
        <module>gateway-provider-identity-assertion-pseudo</module>
        <module>gateway-provider-jersey</module>
        <module>gateway-provider-ha</module>
        <module>gateway-service-admin</module>
        <module>gateway-service-as</module>
        <module>gateway-service-hbase</module>
        <module>gateway-service-hive</module>
        <module>gateway-service-impala</module>
        <module>gateway-service-knoxsso</module>
        <module>gateway-service-knoxssout</module>
        <module>gateway-service-knoxtoken</module>
        <module>gateway-service-livy</module>
        <module>gateway-service-jkg</module>
        <module>gateway-service-health</module>
        <module>gateway-service-webhdfs</module>
        <module>gateway-service-tgs</module>
        <module>gateway-service-rm</module>
        <module>gateway-service-storm</module>
        <module>gateway-service-remoteconfig</module>
        <module>gateway-service-definitions</module>
        <module>gateway-shell</module>
        <module>gateway-shell-launcher</module>
        <module>knox-cli-launcher</module>
        <module>gateway-adapter</module>
        <module>hadoop-examples</module>
        <module>gateway-release</module>
        <module>gateway-test</module>
        <module>gateway-service-vault</module>
        <module>gateway-service-test</module>
        <module>gateway-test-release</module>
        <module>gateway-admin-ui</module>
        <module>gateway-applications</module>
        <module>gateway-shell-samples</module>
        <module>gateway-shell-release</module>
        <module>gateway-test-release-utils</module>
        <module>gateway-service-nifi</module>
        <module>gateway-service-nifi-registry</module>
        <module>gateway-docker</module>
        <module>gateway-service-hashicorp-vault</module>
        <module>gateway-release-common</module>
        <module>gateway-topology-simple</module>
        <module>gateway-topology-hadoop-xml</module>
        <module>gateway-service-metadata</module>
        <module>gateway-service-session</module>
        <module>knox-homepage-ui</module>
        <module>gateway-openapi-ui</module>
        <module>knox-token-management-ui</module>
    </modules>

    <properties>
        <!-- Ensure that source and target version are overridden from base ASF POM.
             This is also used by forbiddenapis to ensure correct signatures are loaded. -->
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>

        <!-- Dependencies sorted alphabetically -->
        <apacheds.directory.api.version>2.0.0</apacheds.directory.api.version>
        <apacheds.directory.server.version>2.0.0.AM26</apacheds.directory.server.version>
        <apacheds-jdbm.version>2.0.0-M5</apacheds-jdbm.version>
        <apache-rat-plugin.version>0.13</apache-rat-plugin.version>
        <ant-nodeps.version>1.8.1</ant-nodeps.version>
        <asm.version>9.0</asm.version>
        <aspectj.version>1.9.6</aspectj.version>
        <bcprov-jdk15on.version>1.67</bcprov-jdk15on.version>
        <ben-manes.caffeine.version>2.8.8</ben-manes.caffeine.version>
        <buildnumber-maven-plugin.version>1.4</buildnumber-maven-plugin.version>
        <cglib.version>3.3.0</cglib.version>
        <checkstyle.version>8.38</checkstyle.version>
        <cloudera-manager.version>7.0.3</cloudera-manager.version>
        <cloudera-manager-api-swagger.version>${cloudera-manager.version}</cloudera-manager-api-swagger.version>
        <commons-beanutils.version>1.9.4</commons-beanutils.version>
        <commons-cli.version>1.4</commons-cli.version>
        <commons-codec.version>1.15</commons-codec.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-compress.version>1.20</commons-compress.version>
        <commons-configuration.version>1.10</commons-configuration.version>
        <commons-digester3.version>3.2</commons-digester3.version>
        <commons-io.version>2.8.0</commons-io.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-lang3.version>3.11</commons-lang3.version>
        <commons-logging.version>1.2</commons-logging.version>
        <commons-math3.version>3.6.1</commons-math3.version>
        <commons-net.version>3.7.2</commons-net.version>
        <commons-text.version>1.9</commons-text.version>
        <cors-filter.version>2.9.1</cors-filter.version>
        <cryptacular.version>1.2.4</cryptacular.version>
        <curator.version>4.3.0</curator.version>
        <dependency-check-maven.version>6.0.3</dependency-check-maven.version>
        <derby.db.version>10.14.2.0</derby.db.version> <!-- 10.15.1.3 requires Java 9 -->
        <dockerfile-maven-plugin.version>1.4.13</dockerfile-maven-plugin.version>
        <dom4j.version>2.1.3</dom4j.version>
        <easymock.version>4.2</easymock.version>
        <eclipselink.version>2.7.8</eclipselink.version>
        <ehcache.version>2.6.11</ehcache.version>
        <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
        <fastinfoset.version>1.2.18</fastinfoset.version>
        <findsecbugs-plugin.version>1.11.0</findsecbugs-plugin.version>
        <forbiddenapis.version>3.1</forbiddenapis.version>
        <frontend-maven-plugin.version>1.11.0</frontend-maven-plugin.version>
        <glassfish-jaxb.version>2.3.3</glassfish-jaxb.version>
        <gson.version>2.8.6</gson.version>
        <groovy.version>3.0.7</groovy.version>
        <guava.version>28.2-jre</guava.version>
        <hadoop.version>3.2.1</hadoop.version>
        <hamcrest.version>2.2</hamcrest.version>
        <hamcrest-json.version>0.2</hamcrest-json.version>
        <httpclient.version>4.5.13</httpclient.version>
        <httpcore.version>4.4.14</httpcore.version>
        <jackson.version>2.11.4</jackson.version>
        <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
        <jansi.version>1.18</jansi.version>
        <javax.activation.version>1.2.0</javax.activation.version>
        <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
        <javax.inject.version>2.4.0</javax.inject.version>
        <javax.json.version>1.1.3</javax.json.version>
        <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
        <javax.ws.rs-api.version>2.0</javax.ws.rs-api.version>
        <javax.websocket-api.version>1.1</javax.websocket-api.version>
        <jaxws-ri.version>2.3.3</jaxws-ri.version>
        <jakarta.xml.bind.version>2.3.2</jakarta.xml.bind.version>
        <jakarta.activation.version>1.2.2</jakarta.activation.version>
        <java-support.version>7.5.2</java-support.version>
        <javassist.version>3.27.0-GA</javassist.version>
        <jboss-logging.version>3.4.1.Final</jboss-logging.version>
        <jee-pac4j.version>5.0.0</jee-pac4j.version>
        <jericho-html.version>3.4</jericho-html.version>
        <jersey.version>2.6</jersey.version>
        <jetty.version>9.4.34.v20201102</jetty.version>
        <jline.version>2.14.6</jline.version>
        <jna.version>5.6.0</jna.version>
        <joda-time.version>2.10.8</joda-time.version>
        <json-path.version>2.5.0</json-path.version>
        <json-smart.version>2.3</json-smart.version>
        <junit.version>4.13.2</junit.version>
        <lang-tag.version>1.5</lang-tag.version>
        <libpam4j.version>1.11</libpam4j.version>
        <log4j.version>1.2.17</log4j.version>
        <log4j2.version>2.16.0</log4j2.version>
        <maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
        <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
        <maven-pmd-plugin.version>3.12.0</maven-pmd-plugin.version>
        <metrics.version>4.1.16</metrics.version>
        <mina.version>2.0.21</mina.version>
        <netty.version>4.1.56.Final</netty.version>
        <nimbus-jose-jwt.version>8.14.1</nimbus-jose-jwt.version>
        <nodejs.version>v12.18.2</nodejs.version>
        <okhttp.version>2.7.5</okhttp.version>
        <opensaml.version>3.4.5</opensaml.version>
        <pac4j.version>4.3.0</pac4j.version>
        <postgresql.version>42.2.19</postgresql.version>
        <mysql.version>8.0.25</mysql.version>
        <protobuf.version>3.14.0</protobuf.version>
        <rest-assured.version>4.3.3</rest-assured.version>
        <shiro.version>1.7.0</shiro.version>
        <shrinkwrap.version>1.2.6</shrinkwrap.version>
        <shrinkwrap.descriptors.version>2.0.0</shrinkwrap.descriptors.version>
        <slf4j.version>1.7.30</slf4j.version>
        <spotbugs.version>4.2.0</spotbugs.version>
        <spotbugs-maven-plugin.version>4.1.4</spotbugs-maven-plugin.version>
        <spring.version>5.3.2</spring.version>
        <spring-vault.version>2.3.0</spring-vault.version>
        <stax-ex.version>1.8.3</stax-ex.version>
        <stax2-api.version>4.2.1</stax2-api.version>
        <swagger-annotations.version>1.6.2</swagger-annotations.version>
        <swagger-maven-plugin.version>3.1.7</swagger-maven-plugin.version>
        <taglibs-standard.version>1.2.5</taglibs-standard.version>
        <testcontainers.version>1.15.1</testcontainers.version>
        <txw2.version>2.4.0-b180830.0438</txw2.version>
        <velocity.version>1.7</velocity.version>
        <woodstox-core.version>6.1.1</woodstox-core.version>
        <xmlsec.version>2.1.5</xmlsec.version>
        <xmltool.version>3.3</xmltool.version>
        <xml-jaxb.version>2.3.0</xml-jaxb.version>
        <xml-matchers.version>0.10</xml-matchers.version>
        <zookeeper.version>3.5.7</zookeeper.version>
    </properties>

    <profiles>
        <profile>
            <id>package</id>
            <build>
                <plugins>
                    <plugin>
                        <inherited>false</inherited>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>source</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <finalName>knox-${project.version}</finalName>
                                    <outputDirectory>target/${project.version}</outputDirectory>
                                    <descriptors>
                                        <descriptor>src/assembly.xml</descriptor>
                                    </descriptors>
                                    <tarLongFileMode>gnu</tarLongFileMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <properties>
                <failsafe.group>org.apache.knox.test.category.VerifyTest</failsafe.group>
            </properties>
        </profile>
        <profile>
            <id>release</id>
            <properties>
                <failsafe.group>org.apache.knox.test.category.VerifyTest,org.apache.knox.test.category.ReleaseTest</failsafe.group>
            </properties>
        </profile>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <failsafe.group>org.apache.knox.test.category.VerifyTest</failsafe.group>
            </properties>
        </profile>
        <profile>
            <id>owasp</id>
            <!--
            These repositories are defined by dependencies but the owasp dependency check
            plugin doesn't pull in these repositories. This then causes failures when
            trying to download commonj and saml dependencies.
            -->
            <repositories>
                <repository>
                    <id>jboss-puplic</id>
                    <url>https://repository.jboss.org/nexus/content/repositories/public</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </repository>
                <repository>
                    <id>shib-release</id>
                    <url>https://build.shibboleth.net/nexus/content/groups/public</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </repository>
            </repositories>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.owasp</groupId>
                        <artifactId>dependency-check-maven</artifactId>
                        <version>${dependency-check-maven.version}</version>
                        <configuration>
                            <suppressionFiles>
                                <suppressionFile>build-tools/dependency-check/suppressions.xml</suppressionFile>
                            </suppressionFiles>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>aggregate</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.knox</groupId>
                                <artifactId>build-tools</artifactId>
                                <version>1.0.0</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>dev.dimlight</groupId>
                    <artifactId>shellcheck-maven-plugin</artifactId>
                    <version>0.3.1</version>
                    <executions>
                        <execution>
                            <id>shellcheck_verification</id>
                            <phase>validate</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <configuration>
                                <args>
                                    <arg>-x</arg>
                                    <arg>--source-path=${project.parent.basedir}/gateway-release-common/home/bin</arg>
                                </args>
                                <failBuildIfWarnings>true</failBuildIfWarnings>
                                <binaryResolutionMethod>download</binaryResolutionMethod>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>${apache-rat-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <excludeSubProjects>false</excludeSubProjects>
                    <excludes>
                        <exclude>.git/**</exclude>
                        <exclude>.pc/**</exclude>
                        <exclude>debian/**</exclude>
                        <exclude>.gitignore/**</exclude>
                        <exclude>.svn/**</exclude>
                        <exclude>.idea/**</exclude>
                        <exclude>dev-support/**</exclude>
                        <exclude>test-patch/**</exclude>
                        <exclude>**/.gitignore/**</exclude>
                        <exclude>**/.project/**</exclude>
                        <exclude>**/.settings/**</exclude>
                        <exclude>**/.classpath/**</exclude>
                        <exclude>src/stage.txt</exclude>
                        <exclude>src/vote.txt</exclude>
                        <exclude>**/*.iml</exclude>
                        <exclude>**/*.json</exclude>
                        <exclude>**/target/**</exclude>
                        <exclude>**/install/**</exclude>
                        <exclude>**/candidate/**</exclude>
                        <exclude>**/patch/**</exclude>
                        <exclude>**/CHANGES</exclude>
                        <exclude>**/ISSUES</exclude>
                        <exclude>**/patchprocess/**</exclude>
                        <exclude>**/test/resources/**</exclude>
                        <exclude>**/main/resources/**/*.json</exclude>
                        <exclude>**/home/samples/*.jar</exclude>
                        <exclude>**/.externalToolBuilders/*</exclude>
                        <exclude>*.patch</exclude>
                        <exclude>**/applications/**/jquery.**</exclude>
                        <exclude>**/applications/**/bootstrap.min.**</exclude>
                        <exclude>**/applications/**/fonts/**</exclude>
                        <exclude>**/applications/**/libs/**</exclude>
                        <exclude>**/applications/**/assets/**</exclude>
                        <exclude>**/applications/**/*.bundle.*</exclude>
                        <exclude>**/node_modules/**</exclude>
                        <exclude>**/admin-ui/**/*.json</exclude>
                        <exclude>**/admin-ui/**/*.js</exclude>
                        <exclude>**/admin-ui/**/*.css</exclude>
                        <exclude>**/admin-ui/**/*.html</exclude>
                        <exclude>**/home/**/*.json</exclude>
                        <exclude>**/home/**/*.js</exclude>
                        <exclude>**/home/**/*.css</exclude>
                        <exclude>**/home/**/*.html</exclude>
                        <exclude>atlassian-ide-plugin.xml</exclude>
                        <exclude>**/PULL_REQUEST_TEMPLATE*</exclude>
                        <exclude>**/new-service-definition-template.xml</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>${buildnumber-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <revisionOnScmFailure>${project.version}</revisionOnScmFailure>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <!-- If you are looking to change source/target,
                     change the maven.compiler.{source,target} property -->
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludedGroups>
                        org.apache.knox.test.category.SlowTests,org.apache.knox.test.category.ManualTests,org.apache.knox.test.category.VerifyTest,org.apache.knox.test.category.ReleaseTest
                    </excludedGroups>
                    <systemPropertyVariables>
                        <project.version>${project.version}</project.version>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <groups>${failsafe.group}</groups>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                        <configuration>
                            <includes>
                                <include>**/*.java</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${maven-enforcer-plugin.version}</version>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <!--
                                    Maven 3.6.2 has issues
                                    https://issues.apache.org/jira/browse/KNOX-2305
                                    -->
                                    <version>[3.1.0,3.6.2),(3.6.2,)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                    <execution>
                        <id>enforce-dependencies</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <dependencyConvergence/>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>${spotbugs-maven-plugin.version}</version>
                <configuration>
                    <threshold>High</threshold>
                    <failOnError>true</failOnError>
                    <excludeFilterFile>build-tools/spotbugs-filter.xml</excludeFilterFile>
                    <plugins>
                        <plugin>
                            <groupId>com.h3xstream.findsecbugs</groupId>
                            <artifactId>findsecbugs-plugin</artifactId>
                            <version>${findsecbugs-plugin.version}</version> <!-- Auto-update to the latest stable -->
                        </plugin>
                    </plugins>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.knox</groupId>
                        <artifactId>build-tools</artifactId>
                        <version>1.0.0</version>
                    </dependency>
                    <!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
                    <dependency>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs</artifactId>
                        <version>${spotbugs.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>de.thetaphi</groupId>
                <artifactId>forbiddenapis</artifactId>
                <version>${forbiddenapis.version}</version>
                <configuration>
                    <failOnViolation>true</failOnViolation>
                    <!-- if the used Java version is too new, don't fail, just do nothing: -->
                    <failOnUnsupportedJava>false</failOnUnsupportedJava>
                    <!-- prevent failing if a module doesn't have all signature dependencies like commons-io -->
                    <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
                    <bundledSignatures>
                        <!--
                          This will automatically choose the right
                          signatures based on 'maven.compiler.target':
                        -->
                        <bundledSignature>jdk-unsafe</bundledSignature>
                        <bundledSignature>jdk-deprecated</bundledSignature>
                        <!-- disallow undocumented classes like sun.misc.Unsafe: -->
                        <bundledSignature>jdk-non-portable</bundledSignature>
                        <!-- disallow unsafe commons-io classes -->
                        <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
                    </bundledSignatures>
                    <signaturesArtifacts>
                        <signaturesArtifact>
                            <groupId>org.apache.knox</groupId>
                            <artifactId>build-tools</artifactId>
                            <version>1.0.0</version>
                            <type>jar</type>
                            <path>build-tools/forbiddenapis/signatures.txt</path>
                        </signaturesArtifact>
                    </signaturesArtifacts>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                            <goal>testCheck</goal>
                        </goals>
                    </execution>
                 </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${maven-checkstyle-plugin.version}</version>
                <executions>
                    <execution>
                        <id>validate</id>
                        <phase>validate</phase>
                        <configuration>
                            <configLocation>build-tools/checkstyle/checker.xml</configLocation>
                            <suppressionsLocation>build-tools/checkstyle/suppressions.xml</suppressionsLocation>
                            <consoleOutput>true</consoleOutput>
                            <failOnViolation>true</failOnViolation>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        </configuration>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.knox</groupId>
                        <artifactId>build-tools</artifactId>
                        <version>1.0.0</version>
                    </dependency>
                    <dependency>
                        <groupId>com.puppycrawl.tools</groupId>
                        <artifactId>checkstyle</artifactId>
                        <version>${checkstyle.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <!-- Needed to ensure maven-assembly-plugin and maven-shade-plugin
                 run before antrun plugin in gateway-shell-release -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven-dependency-plugin.version}</version>
                <executions>
                    <execution>
                        <id>analyze-dependencies</id>
                        <goals>
                            <goal>analyze-only</goal>
                        </goals>
                        <configuration>
                            <failOnWarning>true</failOnWarning>
                            <ignoredUnusedDeclaredDependencies>
                                <ignoredUnusedDeclaredDependency>*</ignoredUnusedDeclaredDependency>
                            </ignoredUnusedDeclaredDependencies>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-prepare-agent-integration</id>
                        <goals>
                            <goal>prepare-agent-integration</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report-integration</id>
                        <goals>
                            <goal>report-integration</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <rule>
                                    <element>BUNDLE</element>
                                    <limits>
                                        <limit>
                                            <counter>COMPLEXITY</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.00</minimum>
                                        </limit>
                                    </limits>
                                </rule>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${maven-pmd-plugin.version}</version>
                <configuration>
                    <rulesets>
                        <ruleset>build-tools/pmd/pmd-ruleset.xml</ruleset>
                    </rulesets>
                    <analysisCache>true</analysisCache>
                    <printFailingErrors>true</printFailingErrors>
                    <includeTests>true</includeTests>
                    <linkXRef>false</linkXRef>
                    <targetJdk>1.8</targetJdk>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.knox</groupId>
                        <artifactId>build-tools</artifactId>
                        <version>1.0.0</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <configuration>
                    <generateReports>true</generateReports>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>index</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <reports>
                            <!-- select non-aggregate reports -->
                            <report>report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <configuration>
                    <rulesets>
                        <ruleset>build-tools/pmd/pmd-ruleset.xml</ruleset>
                    </rulesets>
                    <includeTests>true</includeTests>
                    <linkXRef>false</linkXRef>
                    <targetJdk>1.8</targetJdk>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-util-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-util-configinjector</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-util-launcher</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-util-urltemplate</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-i18n</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-i18n-logging-sl4j</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-i18n-logging-log4j</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-performance-test</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-spi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-jwt</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-pac4j</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-webappsec</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-clientcert</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-preauth</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-hadoopauth</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-authc-anon</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-shiro</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-authz-acls</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-security-authz-composite</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-concat</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-pseudo</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-hadoop-groups</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-regex</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-identity-assertion-switchcase</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-func-hostmap-static</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-func-service-registry</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-func-inbound-query-param</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-step-secure-query</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-rewrite-step-encrypt-uri</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-jersey</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-provider-ha</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-tgs</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-vault</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-knoxssout</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-knoxsso</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-knoxtoken</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-health</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-admin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-remoteconfig</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-test</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-as</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-hbase</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-hive</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-impala</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-webhdfs</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-rm</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-storm</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-livy</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-jkg</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-definitions</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-nifi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-nifi-registry</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-server</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-server-launcher</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-server-xforwarded-filter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>knox-cli-launcher</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-shell</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-shell-launcher</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-adapter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>hadoop-examples</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-discovery-ambari</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-discovery-cm</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-release</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-applications</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-admin-ui</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-shell-release</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-shell-samples</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-hashicorp-vault</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-release-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-topology-simple</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-topology-hadoop-xml</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-metadata</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-service-session</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>knox-homepage-ui</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-openapi-ui</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>knox-token-management-ui</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <artifactId>jersey-container-servlet-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <artifactId>jersey-container-servlet</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${jackson.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-bom</artifactId>
                <version>${jetty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Need these additional due to classifier tests -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${jetty.version}</version>
                <classifier>tests</classifier>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-http</artifactId>
                <version>${jetty.version}</version>
                <classifier>tests</classifier>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-bom</artifactId>
                <version>${netty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${spring.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
                <version>${nimbus-jose-jwt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>lang-tag</artifactId>
                <version>${lang-tag.version}</version>
            </dependency>

            <dependency>
                <groupId>net.minidev</groupId>
                <artifactId>json-smart</artifactId>
                <version>${json-smart.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${javax.annotation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2.external</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax.inject.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${javax.ws.rs-api.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>javax.activation</artifactId>
                <version>${javax.activation.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${xml-jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>${xml-jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${xml-jaxb.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${glassfish-jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>txw2</artifactId>
                <version>${txw2.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-ri</artifactId>
                <version>${jaxws-ri.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.xml.bind.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>jakarta.activation</artifactId>
                <version>${jakarta.activation.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jvnet.staxex</groupId>
                <artifactId>stax-ex</artifactId>
                <version>${stax-ex.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.xml.fastinfoset</groupId>
                <artifactId>FastInfoset</artifactId>
                <version>${fastinfoset.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>eclipselink</artifactId>
                <version>${eclipselink.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.json</groupId>
                <artifactId>javax.json-api</artifactId>
                <version>${javax.json.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.json</artifactId>
                <version>${javax.json.version}</version>
            </dependency>

            <dependency>
                <groupId>com.thetransactioncompany</groupId>
                <artifactId>cors-filter</artifactId>
                <version>${cors-filter.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-groovysh</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-xml</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-json</artifactId>
                <version>${groovy.version}</version>
            </dependency>

            <dependency>
                <groupId>org.fusesource.jansi</groupId>
                <artifactId>jansi</artifactId>
                <version>${jansi.version}</version>
            </dependency>

            <dependency>
                <groupId>jline</groupId>
                <artifactId>jline</artifactId>
                <version>${jline.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpcore.version}</version>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>${protobuf.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-auth</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-core</artifactId>
                <version>${hadoop.version}</version>
		<scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>jdk.tools</groupId>
                        <artifactId>jdk.tools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>jackson-core-asl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>jackson-mapper-asl</artifactId>
                    </exclusion>
		    <exclusion>
		        <groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-yarn-common</artifactId>
		    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.protobuf</groupId>
                        <artifactId>protobuf-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.jcraft</groupId>
                        <artifactId>jsch</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-json</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-server</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>commons-cli</groupId>
                        <artifactId>commons-cli</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-el</groupId>
                        <artifactId>commons-el</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-httpclient</groupId>
                        <artifactId>commons-httpclient</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet.jsp</groupId>
                        <artifactId>jsp-api</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>net.java.dev.jets3t</groupId>
                        <artifactId>jets3t</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>org.apache.avro</groupId>
                        <artifactId>avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-compress</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-math</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-auth</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>jackson-core-asl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>jackson-mapper-asl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty-util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>tomcat</groupId>
                        <artifactId>jasper-compiler</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>tomcat</groupId>
                        <artifactId>jasper-runtime</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>xmlenc</groupId>
                        <artifactId>xmlenc</artifactId>
                    </exclusion>

                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-servlet</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>stax2-api</artifactId>
                <version>${stax2-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.woodstox</groupId>
                <artifactId>woodstox-core</artifactId>
                <version>${woodstox-core.version}</version>
            </dependency>

            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>${cglib.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>${commons-beanutils.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>${commons-cli.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commons-compress.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>${commons-configuration.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-digester3</artifactId>
                <version>${commons-digester3.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>cglib</groupId>
                        <artifactId>cglib</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
	    <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons-logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>${commons-math3.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-api</artifactId>
                <version>${shrinkwrap.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-impl-base</artifactId>
                <version>${shrinkwrap.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-api-base</artifactId>
                <version>${shrinkwrap.descriptors.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-api-javaee</artifactId>
                <version>${shrinkwrap.descriptors.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
                <version>${shrinkwrap.descriptors.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-jdbm</artifactId>
                <version>${apacheds-jdbm.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-core</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-core-annotations</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-core-api</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-i18n</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-protocol-shared</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-protocol-ldap</artifactId>
                <version>${apacheds.directory.server.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.directory.api</groupId>
                <artifactId>api-ldap-client-api</artifactId>
                <version>${apacheds.directory.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.api</groupId>
                <artifactId>api-ldap-codec-standalone</artifactId>
                <version>${apacheds.directory.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.api</groupId>
                <artifactId>api-ldap-model</artifactId>
                <version>${apacheds.directory.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.api</groupId>
                <artifactId>api-util</artifactId>
                <version>${apacheds.directory.api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.mina</groupId>
                <artifactId>mina-core</artifactId>
                <version>${mina.version}</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j2.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-ehcache</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-web</artifactId>
                <version>${shiro.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>${ehcache.version}</version>
            </dependency>

            <dependency>
                <groupId>org.kohsuke</groupId>
                <artifactId>libpam4j</artifactId>
                <version>${libpam4j.version}</version>
            </dependency>

            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${jna.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper-jute</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>${curator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>${curator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-client</artifactId>
                <version>${curator.version}</version>
            </dependency>

            <!-- Html pull parser.  EPLv1 license -->
            <dependency>
                <groupId>net.htmlparser.jericho</groupId>
                <artifactId>jericho-html</artifactId>
                <version>${jericho-html.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-demo-ldap</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-demo-ldap-launcher</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bcprov-jdk15on.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-commons</artifactId>
                <version>${asm.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.taglibs</groupId>
                <artifactId>taglibs-standard-spec</artifactId>
                <version>${taglibs-standard.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.taglibs</groupId>
                <artifactId>taglibs-standard-impl</artifactId>
                <version>${taglibs-standard.version}</version>
            </dependency>

            <!-- Websocket support -->
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-api</artifactId>
                <version>${javax.websocket-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-client-api</artifactId>
                <version>${javax.websocket-api.version}</version>
            </dependency>

            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-core</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-json</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-servlets</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-httpclient</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-graphite</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-jetty9</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-jmx</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-jvm</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger-annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${postgresql.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.checkerframework</groupId>
                        <artifactId>checker-qual</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- pac4j Dependencies -->
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-cas</artifactId>
                <version>${pac4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-config</artifactId>
                <version>${pac4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xalan</groupId>
                        <artifactId>xalan</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-core</artifactId>
                <version>${pac4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-http</artifactId>
                <version>${pac4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-oauth</artifactId>
                <version>${pac4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-oidc</artifactId>
                <version>${pac4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>pac4j-saml-opensamlv3</artifactId>
                <version>${pac4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xalan</groupId>
                        <artifactId>xalan</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>dom4j</groupId>
                        <artifactId>dom4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${dom4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.pac4j</groupId>
                <artifactId>jee-pac4j</artifactId>
                <version>${jee-pac4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.pac4j</groupId>
                        <artifactId>pac4j-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- harmonize pac4j-saml dependencies -->
            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml-core</artifactId>
                <version>${opensaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml-security-api</artifactId>
                <version>${opensaml.version}</version>
            </dependency>

            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml-storage-impl</artifactId>
                <version>${opensaml.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-entitymanager</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hibernate.javax.persistence</groupId>
                        <artifactId>hibernate-jpa-2.1-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jboss-logging.version}</version>
            </dependency>

            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml-xmlsec-api</artifactId>
                <version>${opensaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml-xmlsec-impl</artifactId>
                <version>${opensaml.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.santuario</groupId>
                <artifactId>xmlsec</artifactId>
                <version>${xmlsec.version}</version>
            </dependency>
            <dependency>
                <groupId>org.cryptacular</groupId>
                <artifactId>cryptacular</artifactId>
                <version>${cryptacular.version}</version>
            </dependency>
            <dependency>
                <groupId>net.shibboleth.utilities</groupId>
                <artifactId>java-support</artifactId>
                <version>${java-support.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.vault</groupId>
                <artifactId>spring-vault-dependencies</artifactId>
                <version>${spring-vault.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>

            <dependency>
                <groupId>de.thetaphi</groupId>
                <artifactId>forbiddenapis</artifactId>
                <version>${forbiddenapis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.cloudera.api.swagger</groupId>
                <artifactId>cloudera-manager-api-swagger</artifactId>
                <version>${cloudera-manager-api-swagger.version}</version>  <!-- or CM version 6.0 and above -->
            </dependency>
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>${ben-manes.caffeine.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.checkerframework</groupId>
                        <artifactId>checker-qual</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.errorprone</groupId>
                        <artifactId>error_prone_annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- ********** ********** ********** ********** ********** ********** -->
            <!-- ********** Test Dependencies                           ********** -->
            <!-- ********** ********** ********** ********** ********** ********** -->

            <dependency>
                <groupId>org.apache.knox</groupId>
                <artifactId>gateway-test-utils</artifactId>
                <version>${project.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-library</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>uk.co.datumedge</groupId>
                <artifactId>hamcrest-json</artifactId>
                <version>${hamcrest-json.version}</version>
                <scope>test</scope>
            </dependency>

            <!-- must be before Junit otherwise it is messes up the hamcrest dependencies -->
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${rest-assured.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>json-path</artifactId>
                <version>${rest-assured.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>

            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>${easymock.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derby.db.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>${derby.db.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbynet</artifactId>
                <version>${derby.db.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity</artifactId>
                <version>${velocity.version}</version>
                <!--scope>test</scope-->
            </dependency>

            <dependency>
                <groupId>com.mycila.xmltool</groupId>
                <artifactId>xmltool</artifactId>
                <version>${xmltool.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.xmlmatchers</groupId>
                <artifactId>xml-matchers</artifactId>
                <version>${xml-matchers.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path</artifactId>
                <version>${json-path.version}</version>
            </dependency>
            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path-assert</artifactId>
                <version>${json-path.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-test</artifactId>
                <version>${curator.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${testcontainers.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>vault</artifactId>
                <version>${testcontainers.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
