<?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-datasense-api-parent</artifactId>
    <version>4.7.4</version>
    <packaging>pom</packaging>
    <name>Mule DataSense API</name>
    <description>DataSense API</description>
    <url>https://github.com/mulesoft-labs/mule-datasense-api</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></post>-->
        </mailingList>
    </mailingLists>

    <developers>
    </developers>
    <contributors>
    </contributors>
    <issueManagement>
        <system>jira</system>
        <url>http://www.mulesoft.org/jira/browse/MULE</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git://github.com/mulesoft-labs/mule-datasense-api.git</connection>
        <developerConnection>scm:git:git@github.com:mulesoft-labs/mule-datasense-api.git</developerConnection>
        <url>https://github.com/mulesoft-labs/mule-datasense-api</url>
      <tag>HEAD</tag>
  </scm>

    <properties>
        <!-- MULE -->
        <mule.version>4.7.4</mule.version>
        <!-- MULE ARTIFACT AST -->
        <mule-ast.version>1.3.4</mule-ast.version>
        <!-- MULE DATA WEAVE -->
        <mule-service-weave-ee.version>2.7.4</mule-service-weave-ee.version>
        <!-- MULE-API -->
        <mule-api.version>1.7.4</mule-api.version>
        <!-- MULE-METADATA-API -->
        <mule-metadata-api.version>1.7.4</mule-metadata-api.version>

        <!-- MULE-SDK-API -->
        <mule-sdk-api.version>0.10.0</mule-sdk-api.version>

        <!-- MULE METADATA TYPE BUILDERS -->
        <mule-metadata-flatfile-type-builder.version>1.3.0</mule-metadata-flatfile-type-builder.version>

        <!-- TEST EXTENSIONS BOM -->
        <muleDependenciesBomVersion>1.0.25</muleDependenciesBomVersion>

        <mule-compatibility-module.version>1.3.4</mule-compatibility-module.version>

        <mule-munit.version>3.2.0</mule-munit.version>

        <!-- MULE SERVICES -->
        <mule-services-http.version>1.9.4</mule-services-http.version>
        <mule-services-oauth.version>2.4.4</mule-services-oauth.version>
        <mule-services-soap.version>1.7.4</mule-services-soap.version>
        <mule-services-scheduler.version>1.7.4</mule-services-scheduler.version>

        <!-- RAML -->
        <raml-parser-2.version>1.0.44-15</raml-parser-2.version>

        <!-- MULE APIKIT -->
        <mule-apikit-metadata-api.version>2.4.0</mule-apikit-metadata-api.version>
        <mule-service-apikit-metadata.version>2.4.0</mule-service-apikit-metadata.version>

        <!-- MULE SOAPKIT -->
        <mule-soapkit.metadata.version>2.1.0</mule-soapkit.metadata.version>
        <mule-soapkit.version>1.4.1</mule-soapkit.version>

        <!-- THIRD PARTY -->
        <mockito.version>1.9.0</mockito.version>
        <hamcrest.version>1.3</hamcrest.version>
        <derbyVersion>10.11.1.1</derbyVersion>
        <asm.version>3.3.1</asm.version>
        <mysql-connector-java.version>5.1.26</mysql-connector-java.version>
        <junit.version>4.12</junit.version>
        <javaMailVersion>1.5.6</javaMailVersion>
        <javaVersion>1.8</javaVersion>
        <commonsIoVersion>2.7</commonsIoVersion>
        <commonsLangVersion>3.12.0</commonsLangVersion>
        <commonsDbUtilsVersion>1.2</commonsDbUtilsVersion>
        <slf4jVersion>1.7.25</slf4jVersion>
        <xDocLint>-Xdoclint:none</xDocLint>
        <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
        <javaFormatter.plugin.version>1.8.0</javaFormatter.plugin.version>
        <formatterConfigPath>formatter.xml</formatterConfigPath>
        <license.maven.plugin.version>2.11</license.maven.plugin.version>
        <snakeyaml.version>2.2</snakeyaml.version>
        <skipVerifications>false</skipVerifications>

        <maven.enforcer.plugin.version>1.4.1</maven.enforcer.plugin.version>
        <maven.source.plugin.version>3.3.0</maven.source.plugin.version>

        <json.version>20231013</json.version>
        <guava.version>32.1.3-jre</guava.version>
        <jackson.version>2.15.0</jackson.version>
        <mule-wsdl4j.version>1.6.5</mule-wsdl4j.version>
        <edi-parser.version>2.4.33</edi-parser.version>

        <muleJavaEeBomVersion>4.7.4</muleJavaEeBomVersion>
        <cxf-core.version>3.5.6</cxf-core.version>
        <gson.version>2.10.1</gson.version>
        <kotlin-stdlib.version>1.9.21</kotlin-stdlib.version>
        <mina-core.version>2.2.3</mina-core.version>
        <commons-net.version>3.10.0</commons-net.version>
    </properties>

    <modules>
        <module>mule-datasense-catalog-extensions</module>
        <module>mule-datasense-catalog</module>
        <module>mule-datasense-api</module>
        <module>mule-datasense</module>
        <module>mule-datasense-extensions-core</module>
        <module>mule-datasense-tests</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.mule.sdk</groupId>
                <artifactId>mule-sdk-api</artifactId>
                <version>${mule-sdk-api.version}</version>
            </dependency>
            <!-- MULE -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-extensions-support</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.runtime</groupId>
                <artifactId>mule-core-ee</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.runtime.modules</groupId>
                <artifactId>mule-module-batch-ee</artifactId>
                <version>${mule.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-core</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-deployment-model</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-extensions-spring-support</artifactId>
                <version>${mule.version}</version>
            </dependency>

            <!-- MULE ARTIFACT AST -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-ast</artifactId>
                <version>${mule-ast.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-artifact-ast-xml-parser</artifactId>
                <version>${mule-ast.version}</version>
            </dependency>

            <!-- MULE-API -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-api</artifactId>
                <version>${mule-api.version}</version>
            </dependency>

            <!-- MULE API-KIT -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-apikit-metadata-api</artifactId>
                <version>${mule-apikit-metadata-api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-apikit-metadata</artifactId>
                <version>${mule-service-apikit-metadata.version}</version>
                <classifier>mule-service</classifier>
                <scope>provided</scope>
            </dependency>

            <!-- MULE SOAP-KIT -->
            <dependency>
                <groupId>org.mule.modules</groupId>
                <artifactId>mule-soapkit-metadata</artifactId>
                <version>${mule-soapkit.metadata.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mule.modules</groupId>
                <artifactId>mule-soapkit-module</artifactId>
                <version>${mule-soapkit.version}</version>
                <classifier>mule-plugin</classifier>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- MULE-TEST-API -->
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>mule-tests-functional</artifactId>
                <version>${mule.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>mule-tests-runner</artifactId>
                <version>${mule.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.tests</groupId>
                <artifactId>mule-tests-unit</artifactId>
                <version>${mule.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mule.tests.plugin</groupId>
                <artifactId>mule-tests-component-plugin</artifactId>
                <version>${mule.version}</version>
                <classifier>mule-plugin</classifier>
                <scope>provided</scope>
            </dependency>

            <!-- MULE-METADATA-API -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-api</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-json</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-xml</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-java</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-metadata-model-java-ast</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-message-metadata-model</artifactId>
                <version>${mule-metadata-api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.metadata.flatfile</groupId>
                <artifactId>type-builder</artifactId>
                <version>${mule-metadata-flatfile-type-builder.version}</version>
            </dependency>

            <!-- MULE-EXTENSIONS -->
            <dependency>
                <groupId>com.mulesoft.mule.runtime.bom</groupId>
                <artifactId>mule-test-dependencies-bom</artifactId>
                <version>${muleDependenciesBomVersion}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--<dependency>-->
                <!--<groupId>org.mule.runtime</groupId>-->
                <!--<artifactId>mule-service-soap-api</artifactId>-->
                <!--<version>${mule.version}</version>-->
            <!--</dependency>-->
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-soap</artifactId>
                <version>${mule-services-soap.version}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.connectors</groupId>
                <artifactId>mule-oauth-connector</artifactId>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-oauth</artifactId>
                <classifier>mule-service</classifier>
                <version>${mule-services-oauth.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>Saxon-HE</artifactId>
                <version>9.7.0-15</version>
            </dependency>

            <!--<dependency>-->
                <!--<groupId>com.sun.mail</groupId>-->
                <!--<artifactId>javax.mail</artifactId>-->
                <!--<version>${javaMailVersion}</version>-->
            <!--</dependency>-->

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-tls</artifactId>
                <version>${mule.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-module-service</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-scheduler</artifactId>
                <version>${mule-services-scheduler.version}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.mule.runtime.modules</groupId>
                <artifactId>mule-module-http-policy</artifactId>
                <version>${mule.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mule.services</groupId>
                <artifactId>mule-service-http</artifactId>
                <version>${mule-services-http.version}</version>
                <classifier>mule-service</classifier>
            </dependency>
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-service-http-api</artifactId>
                <version>${mule.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-runner</artifactId>
                <version>${mule-munit.version}</version>
                <classifier>mule-plugin</classifier>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-tools</artifactId>
                <version>${mule-munit.version}</version>
                <classifier>mule-plugin</classifier>
            </dependency>

            <dependency>
                <groupId>com.mulesoft.mule.modules</groupId>
                <artifactId>mule-compatibility-module</artifactId>
                <version>${mule-compatibility-module.version}</version>
                <classifier>mule-plugin</classifier>
            </dependency>

            <dependency>
                <groupId>og.mule.runtime</groupId>
                <artifactId>mule-core</artifactId>
                <version>${mule.version}</version>
            </dependency>

            <!-- RAML -->
            <dependency>
                <groupId>org.raml</groupId>
                <artifactId>raml-parser-2</artifactId>
                <version>${raml-parser-2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- THIRD PARTY -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${slf4jVersion}</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>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commonsIoVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-dbutils</groupId>
                <artifactId>commons-dbutils</artifactId>
                <version>${commonsDbUtilsVersion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commonsLangVersion}</version>
            </dependency>

            <!-- DB Drivers -->
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derbyVersion}</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java.version}</version>
            </dependency>

            <!-- Fixing dependency issue mule-core w/ asm 3.1 but dependency mgm defined to 3.3.1 -->
            <dependency>
                <groupId>asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>asm</groupId>
                <artifactId>asm-commons</artifactId>
                <version>${asm.version}</version>
            </dependency>

            <!-- temporarily forcing snakeyaml version -->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
                <scope>provided</scope>
            </dependency>

            <!-- DataWeave plugin -->
            <dependency>
                <groupId>org.mule.runtime</groupId>
                <artifactId>mule-dwb-api</artifactId>
                <version>${mule-service-weave-ee.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.mulesoft.services</groupId>
                <artifactId>mule-service-weave-ee</artifactId>
                <version>${mule-service-weave-ee.version}</version>
                <classifier>mule-service</classifier>
                <scope>test</scope>
            </dependency>

            <!-- TEST LIBRARIES -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.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-all</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>

            <!--<dependency>-->
                <!--<groupId>com.icegreen</groupId>-->
                <!--<artifactId>greenmail-standalone</artifactId>-->
                <!--<version>1.5.5</version>-->
                <!--<scope>test</scope>-->
            <!--</dependency>-->
            <dependency>
                <groupId>com.icegreen</groupId>
                <artifactId>greenmail</artifactId>
                <version>1.5.5</version>
                <scope>test</scope>
            </dependency>

            <!-- Dependencies added to override ones with vulnerabilities -->
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${json.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.wsdl4j</groupId>
                <artifactId>mule-wsdl4j</artifactId>
                <version>${mule-wsdl4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule.edi</groupId>
                <artifactId>edi-parser</artifactId>
                <version>${edi-parser.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mule</groupId>
                <artifactId>mule-javaee-runtime-bom</artifactId>
                <version>${muleJavaEeBomVersion}</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.glassfish</groupId>
                        <artifactId>javax.json</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.activation</groupId>
                        <artifactId>javax.activation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-core</artifactId>
                <version>${cxf-core.version}</version>
            </dependency>

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

            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib</artifactId>
                <version>${kotlin-stdlib.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.mina</groupId>
                <artifactId>mina-core</artifactId>
                <version>${mina-core.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-compress</artifactId>
                <version>1.25.0</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!--Test-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>com.marvinformatics.formatter</groupId>
                <artifactId>formatter-maven-plugin</artifactId>
                <version>${javaFormatter.plugin.version}</version>
                <configuration>
                    <compilerCompliance>${javaVersion}</compilerCompliance>
                    <compilerSource>${javaVersion}</compilerSource>
                    <compilerTargetPlatform>${javaVersion}</compilerTargetPlatform>
                    <configFile>${basedir}/${formatterConfigPath}</configFile>
                    <configJsFile>${basedir}/${formatterConfigPath}</configJsFile>
                    <lineEnding>LF</lineEnding>
                    <aggregator>false</aggregator>
                    <executionRoot>true</executionRoot>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>format</goal>
                        </goals>
                        <configuration>
                            <skipFormatting>${skipVerifications}</skipFormatting>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>${license.maven.plugin.version}</version>
                <configuration>
                    <skip>${skipVerifications}</skip>
                    <header>com/mycila/maven/plugin/license/templates/CPAL.txt</header>
                    <properties>
                        <owner>MuleSoft, Inc</owner>
                        <project.url>http://www.mulesoft.com</project.url>
                    </properties>
                    <includes>
                        <include>**/*.java</include>
                    </includes>
                    <mapping>
                        <java>SLASHSTAR_STYLE</java>
                    </mapping>
                </configuration>
                <executions>
<!--
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
-->
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <!-- or whatever version you use -->
                    <source>${javaVersion}</source>
                    <target>${javaVersion}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.3</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <additionalparam>${xDocLint}</additionalparam>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>mule-releases</id>
            <name>Mule Releases Repository</name>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>mule-snapshots</id>
            <name>Mule Snapshots Repository</name>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>

    <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>

    <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>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <additionalparam>${xDocLint}</additionalparam>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${maven.source.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.5</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skip>${skipGpg}</skip>
                            <gpgArguments>
                                <arg>--pinentry-mode</arg>
                                <arg>loopback</arg>
                            </gpgArguments>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>${maven.enforcer.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>enforce-no-snapshots-in-deps</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireReleaseDeps>
                                            <message>No Snapshots Allowed in Deps!</message>
                                        </requireReleaseDeps>
                                        <requireReleaseVersion>
                                            <message>No Snapshots Allowed in Project Version!</message>
                                        </requireReleaseVersion>
                                        <requirePluginVersions>
                                            <message>Best Practice is to always define plugin versions!</message>
                                            <unCheckedPluginList>
                                                org.apache.maven.plugins:maven-source-plugin,
                                                org.apache.maven.plugins:maven-site-plugin,
                                                org.apache.maven.plugins:maven-javadoc-plugin,
                                                org.apache.maven.plugins:maven-resources-plugin,
                                                org.apache.maven.plugins:maven-surefire-plugin,
                                                org.apache.maven.plugins:maven-jar-plugin,
                                                org.apache.maven.plugins:maven-clean-plugin,
                                                org.apache.maven.plugins:maven-install-plugin,
                                                org.apache.maven.plugins:maven-deploy-plugin
                                            </unCheckedPluginList>
                                        </requirePluginVersions>
                                    </rules>
                                    <skip>${skipNoSnapshotsEnforcerPluginRule}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release-dry-run</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>${maven.enforcer.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>enforce-no-snapshots-in-deps</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireReleaseDeps>
                                            <message>No Snapshots Allowed in Deps!</message>
                                            <excludes>
                                                <exclude>org.mule.modules:mule-module-cors-kernel</exclude>

                                                <exclude>org.mule.weave:*</exclude>
                                                <exclude>org.mule.services:mule-service-weave</exclude>
                                                <exclude>com.mulesoft.services:mule-service-weave-ee</exclude>
                                                <exclude>org.mule.runtime:mule-dwb-api</exclude>

                                                <exclude>org.mule.edi:edi-parser</exclude>
                                                <exclude>org.mule.edi:ltm-datamodel</exclude>
                                                <exclude>org.mule.metadata.flatfile:type-builder</exclude>
                                                <exclude>org.mule.edi:schema-metadata</exclude>

                                                <exclude>org.mule.raml:raml-parser-interface</exclude>
                                                <exclude>org.mule.raml:raml-parser-interface-impl-v1</exclude>
                                                <exclude>org.mule.raml:raml-parser-interface-impl-v2</exclude>
                                                <exclude>org.raml:raml-parser</exclude>
                                                <exclude>org.mule.tools:mule-apikit-common</exclude>
                                                <exclude>org.mule.tools:mule-apikit-metadata</exclude>
                                                <exclude>org.mule.modules:mule-apikit-module</exclude>

                                                <exclude>com.mulesoft.munit:*</exclude>
                                                <exclude>org.mule.tools.maven:mule-classloader-model</exclude>

                                            </excludes>
                                        </requireReleaseDeps>
                                        <requireReleaseVersion>
                                            <message>No Snapshots Allowed in Project Version!</message>
                                        </requireReleaseVersion>
                                        <requirePluginVersions>
                                            <message>Best Practice is to always define plugin versions!</message>
                                            <unCheckedPluginList>
                                                org.apache.maven.plugins:maven-clean-plugin,
                                                org.apache.maven.plugins:maven-help-plugin,
                                                org.apache.maven.plugins:maven-install-plugin,
                                                org.apache.maven.plugins:maven-source-plugin,
                                                org.apache.maven.plugins:maven-site-plugin,
                                                org.apache.maven.plugins:maven-deploy-plugin,
                                                org.apache.maven.plugins:maven-resources-plugin,
                                                org.apache.maven.plugins:maven-surefire-plugin,
                                                org.apache.maven.plugins:maven-jar-plugin
                                            </unCheckedPluginList>
                                        </requirePluginVersions>
                                    </rules>
                                    <skip>${skipNoSnapshotsEnforcerPluginRule}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
