<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.mule</groupId>
    <artifactId>mule-runtime-bom</artifactId>
    <version>4.3.0-20211222</version>
    <packaging>pom</packaging>

    <properties>
        <activemqVersion>5.15.12</activemqVersion>
        <aetherProviderVersion>3.3.9</aetherProviderVersion>
        <antVersion>1.9.14</antVersion>
        <assertJVersion>3.5.2</assertJVersion>
        <aspectjVersion>1.9.2</aspectjVersion>
        <apacheHttpClientVersion>4.5.13</apacheHttpClientVersion>
        <awaitilityVersion>1.7.0</awaitilityVersion>
        <bouncycastleVersion>1.67</bouncycastleVersion>
        <byteBuddyVersion>1.10.7</byteBuddyVersion>
        <c3p0Version>0.9.5.4</c3p0Version>
        <caffeineVersion>2.8.0</caffeineVersion>
        <cglibVersion>3.2.10</cglibVersion>
        <cometdVersion>6.1.26</cometdVersion>
        <commonsBeanUtilsVersion>1.9.4</commonsBeanUtilsVersion>
        <commonsExecVersion>1.2</commonsExecVersion>
        <commonsCliVersion>1.2</commonsCliVersion>
        <commonsCodecVersion>1.15</commonsCodecVersion>
        <commonsCollectionsVersion>3.2.2</commonsCollectionsVersion>
        <commonsCompressVersion>1.21</commonsCompressVersion>
        <commonsDbcpVersion>1.4</commonsDbcpVersion>
        <commonsDbUtilsVersion>1.7</commonsDbUtilsVersion>
        <commonsHttpClientVersion>3.1-14-MULE-001</commonsHttpClientVersion>
        <commonsIoVersion>2.8.0</commonsIoVersion>
        <commonsTextVersion>1.3</commonsTextVersion>
        <commonsLangVersion>3.8.1</commonsLangVersion>
        <commonsNetVersion>3.6</commonsNetVersion>
        <commonsPoolVersion>1.6</commonsPoolVersion>
        <commonsPool2Version>2.6.2</commonsPool2Version>
        <commonsMath3Version>3.6.1</commonsMath3Version>
        <derbyVersion>10.14.2.0</derbyVersion>
        <disruptorVersion>3.3.7</disruptorVersion>
        <dom4jVersion>2.1.3</dom4jVersion>
        <eaioUuidVersion>3.4.2-MULE-001</eaioUuidVersion>
        <fastUtilVersion>8.1.1</fastUtilVersion>
        <everitJsonSchemaVersion>1.5.1</everitJsonSchemaVersion>
        <geronimoSpecsJ2eeVersion>2.0.0</geronimoSpecsJ2eeVersion>
        <geronimoSpecsJmsVersion>1.1.1</geronimoSpecsJmsVersion>
        <geronimoSpecsServletApiVersion>1.0</geronimoSpecsServletApiVersion>
        <greenmailVersion>1.5.0</greenmailVersion>
        <groovyVersion>3.0.7</groovyVersion>
        <gsonVersion>2.8.9</gsonVersion>
        <guavaVersion>30.1.1-jre</guavaVersion>
        <hamcrestVersion>2.2</hamcrestVersion>
        <jacksonVersion>1.9.14-MULE-002</jacksonVersion>
        <jackson2Version>2.12.5</jackson2Version>
        <javax.annotation.version>1.3.2</javax.annotation.version>
        <javax.inject.version>1</javax.inject.version>
        <javax.transaction.version>1.3</javax.transaction.version>
        <javassistVersion>3.7.ga</javassistVersion>
        <javaMailVersion>1.6.2</javaMailVersion>
        <javaXmlBindVersion>2.3.1-MULE-001</javaXmlBindVersion>
        <javaxJmsApiVersion>2.0.1</javaxJmsApiVersion>
        <jdomVersion>1.1.3</jdomVersion>
        <jettyVersion>9.0.7.v20131107</jettyVersion>
        <jerseyVersion>2.11</jerseyVersion>
        <jgraphtVersion>1.3.1</jgraphtVersion>
        <jodaTimeVersion>2.9.1</jodaTimeVersion>
        <jsonVersion>20160810</jsonVersion>
        <junitVersion>4.12</junitVersion>
        <log4jVersion>2.17.0</log4jVersion>
        <mavenSharedUtilsVersion>3.3.4</mavenSharedUtilsVersion>
        <mockitoVersion>2.26.0</mockitoVersion>
        <muleMvelVersion>2.1.9-MULE-020</muleMvelVersion>
        <mysqlDriverVersion>5.1.33</mysqlDriverVersion>
        <plexusUtilsVersion>3.0.24</plexusUtilsVersion>
        <powermockVersion>2.0.0</powermockVersion>
        <projectReactorVersion>3.2.22.RELEASE</projectReactorVersion>
        <projectReactorExtraVersion>3.2.3.RELEASE</projectReactorExtraVersion>
        <reflectionsVersion>0.9.10</reflectionsVersion>
        <saxonVersion>9.9.1-1</saxonVersion>
        <semver4jVersion>3.1.0</semver4jVersion>
        <slf4jVersion>1.7.30</slf4jVersion>
        <snakeYamlVersion>1.26</snakeYamlVersion>
        <springVersion>5.1.20.RELEASE</springVersion>
        <sshCoreVersion>1.4.0</sshCoreVersion>
        <staxUtilsVersion>20080702</staxUtilsVersion>
        <testFtpServerVersion>1.0.6</testFtpServerVersion>
        <typesafeConfigVersion>1.3.1</typesafeConfigVersion>
        <unirestVersion>1.4.9</unirestVersion>
        <woodstoxVersion>4.4.1</woodstoxVersion>
        <wrapperVersion>3.2.3</wrapperVersion>
        <xaPoolVersion>1.5.0</xaPoolVersion>

        <!-- v1.1.0 has an issue with Optional dependencies, whenjbpmVersion resolving the graph it overrides the optionality of a transitive
             dependency with the one define in the dependency management (which is mostly in all the cases "false")
             https://bugs.eclipse.org/bugs/show_bug.cgi?id=501019 -->
        <aetherVersion>1.0.2.v20150114</aetherVersion>

        <!-- Mule Snapshot Dependencies -->
        <muleDslApiVersion>1.3.0-20211222</muleDslApiVersion>
        <muleAstVersion>0.8.0-20211222</muleAstVersion>
        <muleExtensionsApiVersion>1.3.0-20211222</muleExtensionsApiVersion>
        <muleHttpPolicyApiVersion>1.3.0-20211222</muleHttpPolicyApiVersion>
        <muleMavenClientApi>1.5.0-20211222</muleMavenClientApi>
        <muleMavenClientImpl>1.5.0-20211222</muleMavenClientImpl>
        <muleMavenClientTest>1.5.0-20211222</muleMavenClientTest>
        <mulePolicyApiVersion>1.3.0-20211222</mulePolicyApiVersion>
        <muleApiVersion>1.3.0-20211222</muleApiVersion>
        <muleMetadataModelVersion>1.3.0-20211222</muleMetadataModelVersion>
        <mule.classloader.model.version>3.4.0</mule.classloader.model.version>

        <!--Services-->
        <muleSchedulerServiceVersion>1.3.3</muleSchedulerServiceVersion>
        <muleHttpServiceVersion>1.5.18</muleHttpServiceVersion>
        <muleOAuthServiceVersion>2.0.0</muleOAuthServiceVersion>
        <muleSoapServiceVersion>1.3.5</muleSoapServiceVersion>
        <weaveVersion>2.3.0-20211222</weaveVersion>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptorVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <classifier>indy</classifier>
                <version>${groovyVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gsonVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guavaVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson2Version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson2Version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jsonSchema</artifactId>
                <version>${jackson2Version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-1.2-api</artifactId>
                <version>${log4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-api</artifactId>
                <version>${muleApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-xml</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-java</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-message-metadata-model</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-json</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-catalog</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.2</version>
            </dependency>

            <dependency>
                <groupId>javax.jms</groupId>
                <artifactId>javax.jms-api</artifactId>
                <version>${javaxJmsApiVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${springVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.aopalliance</groupId>
                        <artifactId>com.springsource.org.aopalliance</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${springVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.aopalliance</groupId>
                        <artifactId>com.springsource.org.aopalliance</artifactId>
                    </exclusion>

                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.aopalliance</groupId>
                        <artifactId>com.springsource.org.aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-support</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.aopalliance</groupId>
                        <artifactId>com.springsource.org.aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-pool</artifactId>
                        <groupId>commons-pool</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-support</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.aopalliance</groupId>
                        <artifactId>com.springsource.org.aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${springVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jgrapht</groupId>
                <artifactId>jgrapht-core</artifactId>
                <version>${jgraphtVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jettyVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.servlet</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-continuation</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-deploy</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-client</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-security</artifactId>
                <version>${jettyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-servlet_3.0_spec</artifactId>
                <!--servlet api jar is versioned differently-->
                <version>${geronimoSpecsServletApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-annotations</artifactId>
                <version>${jettyVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.annotation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.mail.glassfish</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.transaction</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>org.objectweb.asm</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>cometd-server</artifactId>
                <version>${cometdVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>cometd-client</artifactId>
                <version>${cometdVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.codehaus.btm</groupId>
                <artifactId>btm</artifactId>
                <version>${bitronixTMVersion}</version>
            </dependency>
            <!-- For unit tests only -->
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derbyVersion}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junitVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.jayway.awaitility</groupId>
                <artifactId>awaitility</artifactId>
                <version>${awaitilityVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>${hamcrestVersion}</version>
            </dependency>
            <dependency>
                <groupId>xmlunit</groupId>
                <artifactId>xmlunit</artifactId>
                <version>1.6</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-broker</artifactId>
                <version>${activemqVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-jms_1.1_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.activemq</groupId>
                        <artifactId>activemq-jaas</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-pool</groupId>
                        <artifactId>commons-pool</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.derby</groupId>
                        <artifactId>derby</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>activemq</groupId>
                        <artifactId>jmdns</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xalan</groupId>
                        <artifactId>xalan</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.xbean</groupId>
                        <artifactId>xbean-spring</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-j2ee-jacc_1.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>backport-util-concurrent</groupId>
                        <artifactId>backport-util-concurrent</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>howl</groupId>
                        <artifactId>howl-logger</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>geronimo</groupId>
                        <artifactId>geronimo-kernel</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>geronimo</groupId>
                        <artifactId>geronimo-j2ee</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>activesoap</groupId>
                        <artifactId>jaxp-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>mx4j</groupId>
                        <artifactId>mx4j-jmx</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>mx4j</groupId>
                        <artifactId>mx4j-remote</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>mx4j</groupId>
                        <artifactId>mx4j-tools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>mx4j</groupId>
                        <artifactId>mx4j-impl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertJVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-dwb-api</artifactId>
                <version>${weaveVersion}</version>
            </dependency>

            <!--Logging-->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-ext</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockitoVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Added to avoid conflicting transitive versions from Mockito and PowerMock -->
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${byteBuddyVersion}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy-agent</artifactId>
                <version>${byteBuddyVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
                <version>${geronimoSpecsJ2eeVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jms_1.1_spec</artifactId>
                <version>${geronimoSpecsJmsVersion}</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>${javax.transaction.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>javax.mail-api</artifactId>
                <version>${javaMailVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.glassfish.jaxb</groupId>
                <artifactId>jaxb-xjc</artifactId>
                <version>${javaXmlBindVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${javaXmlBindVersion}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.stax-utils</groupId>
                <artifactId>stax-utils</artifactId>
                <version>${staxUtilsVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.bea.xml</groupId>
                        <artifactId>jsr173-ri</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>${commonsBeanUtilsVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commonsCollectionsVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commonsCompressVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commonsNetVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commonsCodecVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commonsIoVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.apache.commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>${commonsHttpClientVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-pool</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${commonsPoolVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commonsLangVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commonsTextVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-exec</artifactId>
                <version>${commonsExecVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>${commonsCliVersion}</version>
                <exclusions>
                    <!-- we like slf4j -->
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>tanukisoft</groupId>
                <artifactId>wrapper</artifactId>
                <version>${wrapperVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>woodstox-core-asl</artifactId>
                <version>${woodstoxVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.xml.stream</groupId>
                        <artifactId>stax-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${antVersion}</version>
            </dependency>
            <dependency>
                <!-- this really should be the org.jdom groupId but all the other modules use the jdom groupId -->
                <groupId>org.jdom</groupId>
                <artifactId>jdom</artifactId>
                <version>${jdomVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${dom4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>jboss</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassistVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>${jerseyVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.javassist</groupId>
                        <artifactId>javassist</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.hk2.external</groupId>
                        <artifactId>aopalliance-repackaged</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.hk2.external</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.annotation</groupId>
                        <artifactId>javax.annotation-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-dsl-api</artifactId>
                <version>${muleDslApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-ast</artifactId>
                <version>${muleAstVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-ast-dependency-graph</artifactId>
                <version>${muleAstVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-ast-xml-parser</artifactId>
                <version>${muleAstVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-properties-api</artifactId>
                <version>${mulePropertiesApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-api</artifactId>
                <version>${muleExtensionsApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-soap-api</artifactId>
                <version>${muleExtensionsApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-api-persistence</artifactId>
                <version>${muleExtensionsApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-connectivity-api</artifactId>
                <version>${muleConnectivityApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-connectivity-api-persistence</artifactId>
                <version>${muleConnectivityApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-policy-api</artifactId>
                <version>${mulePolicyApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-http-policy-api</artifactId>
                <version>${muleHttpPolicyApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-persistence</artifactId>
                <version>${muleMetadataModelVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.mvel</groupId>
                <artifactId>mule-mvel2</artifactId>
                <version>${muleMvelVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectjVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectjVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>${commonsDbcpVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xerces</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>Saxon-HE</artifactId>
                <version>${saxonVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>dom4j</groupId>
                        <artifactId>dom4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jdom</groupId>
                        <artifactId>jdom</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflectionsVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>dom4j</groupId>
                        <artifactId>dom4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.javassist</groupId>
                        <artifactId>javassist</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax.inject.version}</version>
            </dependency>

            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
                <version>${c3p0Version}</version>
            </dependency>

            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeYamlVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-maven-client-api</artifactId>
                <version>${muleMavenClientApi}</version>
            </dependency>

            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-maven-client-impl</artifactId>
                <version>${muleMavenClientImpl}</version>
            </dependency>

            <!-- Eclipse Aether -->
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-api</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-spi</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-impl</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-connector-basic</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-transport-file</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-transport-http</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.aether</groupId>
                <artifactId>aether-util</artifactId>
                <version>${aetherVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-aether-provider</artifactId>
                <version>${aetherProviderVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>${aetherProviderVersion}</version>
            </dependency>
            <dependency>
                <groupId>io.projectreactor</groupId>
                <artifactId>reactor-core</artifactId>
                <version>${projectReactorVersion}</version>
            </dependency>
            <dependency>
                <groupId>io.projectreactor.addons</groupId>
                <artifactId>reactor-extra</artifactId>
                <version>${projectReactorExtraVersion}</version>
                <exclusions>
                    <exclusion>
                        <!-- TODO MULE-14667 Upgrade to reactor 3.2.0 -->
                        <groupId>io.projectreactor</groupId>
                        <artifactId>reactor-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.projectreactor</groupId>
                <artifactId>reactor-test</artifactId>
                <version>${projectReactorExtraVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-core</artifactId>
                <version>${powermockVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito2</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-all</artifactId>
                    </exclusion>
                </exclusions>
                <version>${powermockVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
                <version>${powermockVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.tools.maven</groupId>
                <artifactId>mule-classloader-model</artifactId>
                <version>${mule.classloader.model.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${apacheHttpClientVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bouncycastleVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>${caffeineVersion}</version>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib-nodep</artifactId>
                <version>${cglibVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-dbutils</groupId>
                <artifactId>commons-dbutils</artifactId>
                <version>${commonsDbUtilsVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${jsonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>${commonsPool2Version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>${commonsMath3Version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.com.github.stephenc.eaio-uuid</groupId>
                <artifactId>uuid</artifactId>
                <version>${eaioUuidVersion}</version>
            </dependency>
            <dependency>
                <groupId>it.unimi.dsi</groupId>
                <artifactId>fastutil</artifactId>
                <version>${fastUtilVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.everit.json</groupId>
                <artifactId>org.everit.json.schema</artifactId>
                <version>${everitJsonSchemaVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-validator</groupId>
                        <artifactId>commons-validator</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.icegreen</groupId>
                <artifactId>greenmail</artifactId>
                <version>${greenmailVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${javax.annotation.version}</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${jodaTimeVersion}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysqlDriverVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.sshd</groupId>
                <artifactId>sshd-core</artifactId>
                <version>${sshCoreVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ftpserver</groupId>
                <artifactId>ftpserver-core</artifactId>
                <version>${testFtpServerVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.typesafe</groupId>
                <artifactId>config</artifactId>
                <version>${typesafeConfigVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.mashape.unirest</groupId>
                <artifactId>unirest-java</artifactId>
                <version>${unirestVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-maven-client-test</artifactId>
                <version>${muleMavenClientTest}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>${plexusUtilsVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.vdurmont</groupId>
                <artifactId>semver4j</artifactId>
                <version>${semver4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.experlog</groupId>
                <artifactId>xapool</artifactId>
                <version>${xaPoolVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.shared</groupId>
                <artifactId>maven-shared-utils</artifactId>
                <version>${mavenSharedUtilsVersion}</version>
            </dependency>

            <!--Services-->

            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-http</artifactId>
                <version>${muleHttpServiceVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-http</artifactId>
                <version>${muleHttpServiceVersion}</version>
                <classifier>tests</classifier>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-http</artifactId>
                <version>${muleHttpServiceVersion}</version>
                <scope>test</scope>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-http</artifactId>
                <version>${muleHttpServiceVersion}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-scheduler</artifactId>
                <version>${muleSchedulerServiceVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-scheduler</artifactId>
                <version>${muleSchedulerServiceVersion}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-oauth</artifactId>
                <version>${muleOAuthServiceVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-oauth</artifactId>
                <version>${muleOAuthServiceVersion}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-oauth</artifactId>
                <version>${muleOAuthServiceVersion}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-soap</artifactId>
                <version>${muleSoapServiceVersion}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-soap</artifactId>
                <version>${muleSoapServiceVersion}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-weave</artifactId>
                <classifier>mule-service</classifier>
                <version>${weaveVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-weave</artifactId>
                <classifier>mule-service</classifier>
                <version>${weaveVersion}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <distributionManagement>
        <repository>
            <id>mule-releases</id>
            <name>Mule Release Repository</name>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>mule-snapshots</id>
            <name>Mule Snapshot Repository</name>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/snapshots</url>
            <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>mulesoft-snapshots</id>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/snapshots</url>
            <snapshots/>
        </repository>
        <repository>
            <id>mulesoft-releases</id>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases</url>
        </repository>
    </repositories>

</project>
