<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.mule</groupId>
        <artifactId>mule-plugin-mgmt-parent-pom</artifactId>
        <version>4.11.3</version>
        <relativePath/>
    </parent>

    <groupId>com.mulesoft.mule.framework</groupId>
    <artifactId>mule-framework-parent</artifactId>
    <version>1.3.4</version>
    <packaging>pom</packaging>

    <name>Mule Framework Parent</name>
    <description>Provides access to Mule Runtime features without the need to start and manage a full-blown Mule Runtime process.</description>
    <url>https://github.com/mulesoft-emu/mule-framework</url>
    <organization>
        <name>MuleSoft, Inc.</name>
        <url>http://www.mulesoft.com</url>
    </organization>
    <licenses>
        <license>
            <name>CPAL v1.0</name>
            <url>http://www.mulesoft.com/CPAL</url>
        </license>
    </licenses>
    <mailingLists>
        <mailingList>
            <name>developers</name>
            <post>mule-esb@mulesoft.com</post>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>facunlk</id>
            <name>Facundo Lopez Kauffman</name>
            <email>facundo.lopez@mulesoft.com</email>
            <roles>
                <role>Project Manager</role>
            </roles>
        </developer>
        <developer>
            <id>marianogonzalez</id>
            <name>Mariano Gonzalez</name>
        </developer>
        <developer>
            <id>elrodro83</id>
            <name>Rodrigo Merino</name>
        </developer>
        <developer>
            <id>mbuchwald</id>
            <name>Martin Buchwald</name>
        </developer>
        <developer>
            <id>rbourbonnavarro</id>
            <name>Rodrigo Bourbon</name>
        </developer>
        <developer>
            <id>jcgrethe</id>
            <name>Juan Cruz Grethe</name>
        </developer>
    </developers>
    <contributors>
        <!-- Refer to https://github.com/mulesoft/mule/graphs/contributors -->
    </contributors>
    <issueManagement>
        <system>gus</system>
        <url>https://gus.lightning.force.com/lightning/r/ADM_Scrum_Team__c/a00AH000000in1AYAQ/view</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git://github.com/mulesoft-emu/mule-framework.git</connection>
        <developerConnection>scm:git:git@github.com:mulesoft-emu/mule-framework.git</developerConnection>
        <url>https://github.com/mulesoft-emu/mule-framework</url>
    </scm>

    <properties>
        <javaVersion>1.8</javaVersion>
        <javaReleaseVersion>8</javaReleaseVersion>
        <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>

        <muleApiVersion>1.11.3</muleApiVersion>
        <muleEmbeddedApiVersion>1.11.3</muleEmbeddedApiVersion>
        <muleDslApiVersion>1.11.3</muleDslApiVersion>
        <metadataModelApiVersion>1.11.3</metadataModelApiVersion>
        <muleExtensionsApiVersion>1.11.3</muleExtensionsApiVersion>
        <muleArtifactDeclarationVersion>1.11.3</muleArtifactDeclarationVersion>
        <muleRuntimeApisVersion>4.11.3</muleRuntimeApisVersion>
        <mule48Version>4.8.12</mule48Version>
        <muleVersion>4.11.3</muleVersion>
        <weave48Version>2.8.6</weave48Version>
        <dataWeaveVersion>2.11.2</dataWeaveVersion>
        <muleMavenClient>2.6.0</muleMavenClient>
        <apiGwVersion>1.11.3</apiGwVersion>
        <apiGw48Version>1.8.12</apiGw48Version>
        <apiGwModulesVersion>4.11.3</apiGwModulesVersion>
        <apiGwModules48Version>4.8.12</apiGwModules48Version>
        <ucModulesVersion>1.1.3</ucModulesVersion>
        <httpEeServiceVersion>1.14.3</httpEeServiceVersion>
        <muleOAuthEeServiceVersion>1.8.3</muleOAuthEeServiceVersion>

        <!-- PolyMule testing versions -->
        <mule49Version>4.9.16</mule49Version>
        <mule411Version>${muleVersion}</mule411Version>

        <muleApiKitMetadataApiVersion>2.4.0</muleApiKitMetadataApiVersion>
        <muleApiKitMetadataServiceVersion>2.4.0</muleApiKitMetadataServiceVersion>
        <muleSoapKitMetadataServiceVersion>3.0.1</muleSoapKitMetadataServiceVersion>

        <muleDependenciesVersion>1.1.0</muleDependenciesVersion>
        <muleMunitVersion>3.4.0</muleMunitVersion>

        <!-- Mule test extensions -->
        <muleHeisenbergConnectorVersion>${muleRuntimeApisVersion}</muleHeisenbergConnectorVersion>
        <mulePetStoreConnectorVersion>${muleRuntimeApisVersion}</mulePetStoreConnectorVersion>
        <muleMarvelConnectorVersion>${muleRuntimeApisVersion}</muleMarvelConnectorVersion>
        <muleMetadataExtensionVersion>${muleRuntimeApisVersion}</muleMetadataExtensionVersion>
        <muleToolingExtensionVersion>${muleRuntimeApisVersion}</muleToolingExtensionVersion>
        <muleSmartConnectorUsingOauthVersion>${muleRuntimeApisVersion}</muleSmartConnectorUsingOauthVersion>
        <muleSmartConnectorUsingHttpVersion>${muleRuntimeApisVersion}</muleSmartConnectorUsingHttpVersion>
        <muleSmartConnectorUsingCustomTypesVersion>${muleRuntimeApisVersion}</muleSmartConnectorUsingCustomTypesVersion>
        <muleTestConfigPropertiesExtensionDeprecatedComplexVersion>${muleRuntimeApisVersion}</muleTestConfigPropertiesExtensionDeprecatedComplexVersion>
        <muleTestOauthExtensionVersion>${muleRuntimeApisVersion}</muleTestOauthExtensionVersion>

        <!-- Mule Framework test extensions -->
        <muleFwkTestPlatformManagedOAuthVersion>${project.version}</muleFwkTestPlatformManagedOAuthVersion>
        <muleFwkTestDependencyOverrideVersion>${project.version}</muleFwkTestDependencyOverrideVersion>
        <muleFwkTestSchedulersVersion>${project.version}</muleFwkTestSchedulersVersion>
        <muleFwkTestInjectableConnectionVersion>${project.version}</muleFwkTestInjectableConnectionVersion>

        <derbyVersion>10.14.2.0</derbyVersion>
        <muleSFconnectorVersion>11.1.1</muleSFconnectorVersion>

        <caffeine.java8.version>2.9.3</caffeine.java8.version>
        <jgrapht.java8.version>1.3.1</jgrapht.java8.version>
        <mockito.java8.version>4.11.0</mockito.java8.version>

        <muleModuleMavenPluginVersion>1.11.3</muleModuleMavenPluginVersion>
        <mule.service.maven.plugin.version>1.11.3</mule.service.maven.plugin.version>
        <mule.maven.plugin.version>4.4.0</mule.maven.plugin.version>
        <oldMuleArtifactVersion>1.0.0</oldMuleArtifactVersion>

        <licensePath>LICENSE_HEADER.txt</licensePath>

        <!-- Modified `SoftRefLRUPolicyMSPerMB` is to avoid class loader leaks in tests -->
        <surefire.args.base>
            -XX:SoftRefLRUPolicyMSPerMB=1
            -XX:+TieredCompilation
            ${surefire.args.encoding}
            ${surefire.args.aspectj}
            ${surefire.args.jacoco}
        </surefire.args.base>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-api</artifactId>
                <version>${muleApiVersion}</version>
            </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-metadata-model-api</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-java</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-catalog</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-java-ast</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-json</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-message-metadata-model</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-persistence</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-raml</artifactId>
                <version>${muleMetadataModelVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-xml</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-api</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-api-persistence</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-api-dsql</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-extensions-mime-types</artifactId>
                <version>${metadataModelApiVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-declaration</artifactId>
                <version>${muleArtifactDeclarationVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-declaration-persistence</artifactId>
                <version>${muleArtifactDeclarationVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-runtime-bom</artifactId>
                <version>${muleVersion}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-tests-bom</artifactId>
                <version>${muleVersion}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.runtime.bom</groupId>
                <artifactId>mule-test-dependencies-bom</artifactId>
                <version>${muleDependenciesVersion}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derbyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.extensions</groupId>
                <artifactId>mule-heisenberg-extension</artifactId>
                <version>${muleHeisenbergConnectorVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.connectors</groupId>
                <artifactId>mule-salesforce-connector</artifactId>
                <classifier>mule-plugin</classifier>
                <version>${muleSFconnectorVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.extensions</groupId>
                <artifactId>mule-petstore-extension</artifactId>
                <version>${mulePetStoreConnectorVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.extensions</groupId>
                <artifactId>mule-marvel-extension</artifactId>
                <version>${muleMarvelConnectorVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.extensions</groupId>
                <artifactId>mule-metadata-extension</artifactId>
                <version>${muleMetadataExtensionVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tooling</groupId>
                <artifactId>tooling-support-test-extension</artifactId>
                <version>${muleToolingExtensionVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.framework</groupId>
                <artifactId>test-platform-managed-oauth</artifactId>
                <version>${muleFwkTestPlatformManagedOAuthVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.framework</groupId>
                <artifactId>test-dependency-override</artifactId>
                <version>${muleFwkTestDependencyOverrideVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.framework</groupId>
                <artifactId>test-schedulers</artifactId>
                <version>${muleFwkTestSchedulersVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.framework</groupId>
                <artifactId>test-injectable-connection</artifactId>
                <version>${muleFwkTestInjectableConnectionVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>mule-test-oauth-extension</artifactId>
                <version>${muleTestOauthExtensionVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>smart-connector-using-http</artifactId>
                <version>${muleSmartConnectorUsingHttpVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>smart-connector-using-custom-types</artifactId>
                <version>${muleSmartConnectorUsingCustomTypesVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>smart-connector-using-http-oauth-authorization-code</artifactId>
                <version>${muleSmartConnectorUsingOauthVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.extensions</groupId>
                <artifactId>test-config-properties-extension-deprecated-complex</artifactId>
                <version>${muleTestConfigPropertiesExtensionDeprecatedComplexVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-runner</artifactId>
                <version>${muleMunitVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-tools</artifactId>
                <version>${muleMunitVersion}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            
            <!-- Compile against the minimal version needed of the Maven client -->
            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-maven-client-api</artifactId>
                <version>${muleMavenClient}</version>
            </dependency>
            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-maven-client-impl</artifactId>
                <version>${muleMavenClient}</version>
            </dependency>

            <!-- Ensure the Mule Framework still works with Java 8 -->
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>${caffeine.java8.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jgrapht</groupId>
                <artifactId>jgrapht-core</artifactId>
                <version>${jgrapht.java8.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.java8.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-inline</artifactId>
                <version>${mockito.java8.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.weave</groupId>
                <artifactId>runtime</artifactId>
                <version>${dataWeaveVersion}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <modules>
        <module>mule-framework-api</module>
        <module>mule-framework-logging</module>
        <module>diet-scheduler-service</module>
        <module>static-requirements-bundle</module>
        <module>mule-framework-runtime-bundles</module>
        <module>mule-framework</module>
        <module>bom</module>
        <module>mule-framework-tests</module>
        <module>classpath</module>
        <module>mule-framework-maven-plugin</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-test-sources</id>
                            <goals>
                                <goal>test-jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>default-compile</id>
                            <configuration>
                                <release>11</release>
                                <!-- no excludes: compile everything to ensure module-info contains right entries -->
                            </configuration>
                        </execution>
                        <execution>
                            <id>base-compile</id>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                            <configuration>
                                <release>${javaReleaseVersion}</release>
                                <!-- recompile everything for target VM except the module-info.java -->
                                <excludes>
                                    <exclude>module-info.java</exclude>
                                </excludes>
                            </configuration>
                        </execution>
                        <execution>
                            <id>default-testCompile</id>
                            <configuration>
                                <testRelease>11</testRelease>
                                <!-- no excludes: compile everything to ensure module-info contains right entries -->
                            </configuration>
                        </execution>
                        <execution>
                            <id>base-testCompile</id>
                            <goals>
                                <goal>testCompile</goal>
                            </goals>
                            <configuration>
                                <testRelease>${javaReleaseVersion}</testRelease>
                                <!-- recompile everything for target VM except the module-info.java -->
                                <testExcludes>
                                    <testExclude>module-info.java</testExclude>
                                </testExcludes>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <source>${javaVersion}</source>
                        <target>${javaVersion}</target>
                        <release>${javaReleaseVersion}</release>
                        <testRelease>${javaReleaseVersion}</testRelease>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>net.revelc.code.formatter</groupId>
                    <artifactId>formatter-maven-plugin</artifactId>
                    <configuration>
                        <compilerCompliance>${javaVersion}</compilerCompliance>
                        <compilerSource>${javaVersion}</compilerSource>
                        <compilerTargetPlatform>${javaVersion}</compilerTargetPlatform>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-test-jar</id>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>org.mule.tools.maven</groupId>
                    <artifactId>mule-module-maven-plugin</artifactId>
                    <version>${muleModuleMavenPluginVersion}</version>
                    <configuration>
                        <skip>${skipMuleModuleMojos}</skip>
                    </configuration>
                    <executions>
                        <execution>
                            <id>analyze</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>analyze</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.revapi</groupId>
                    <artifactId>revapi-maven-plugin</artifactId>
                    <configuration>
                        <oldVersion>${oldMuleArtifactVersion}</oldVersion>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <workingDirectory>${project.build.directory}</workingDirectory>
                        <argLine>${surefire.args}</argLine>
                        <trimStackTrace>false</trimStackTrace>
                        <excludes>
                            <!-- Surefire should be able to detect that classes are abstract but it seems it isn't -->
                            <exclude>**/Abstract*.*</exclude>
                            <!-- Our tests never start with Test* but we have a lot of test helpers that match -->
                            <exclude>**/Test*.java</exclude>
                            <!-- exclude inner classes -->
                            <exclude>**/*$*</exclude>
                        </excludes>
                        <systemPropertyVariables>
                            <!-- Just propagate this variable due to surefire will not do this when forked vm for tests -->
                            <mule.freePortFinder.lockPath>${java.io.tmpdir}/mule/freePortFinder</mule.freePortFinder.lockPath>
                            <maven.projectVersion>${project.version}</maven.projectVersion>
                            <mule.version>${muleVersion}</mule.version>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.mule.runtime.plugins</groupId>
                    <artifactId>mule-service-maven-plugin</artifactId>
                    <version>${mule.service.maven.plugin.version}</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <extensions>true</extensions>
                    <configuration>
                    	<processAllModules>true</processAllModules>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>net.revelc.code.formatter</groupId>
                <artifactId>formatter-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.mule.tools.maven</groupId>
                <artifactId>mule-module-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.revapi</groupId>
                <artifactId>revapi-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>ban-log4j</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <bannedDependencies>
                                    <excludes>
                                        <exclude>org.apache.logging.log4j:*</exclude>
                                    </excludes>
                                    <includes>
                                        <include>org.apache.logging.log4j:log4j-api</include>
                                    </includes>
                                    <searchTransitive>true</searchTransitive>
                                    <message>log4j dependencies (other than log4j-api) are not allowed in Mule Framework modules</message>
                                </bannedDependencies>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

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

    <profiles>
        <profile>
            <id>release</id>
            <properties>
                <skipGpg>false</skipGpg>
                <skipNoSnapshotsEnforcerPluginRule>false</skipNoSnapshotsEnforcerPluginRule>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
