<?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>
    <artifactId>mule-microsoft-dynamics-crm-connector</artifactId>
    <version>3.2.13</version>
    <packaging>mule-extension</packaging>
    <name>Microsoft Dynamics CRM Connector - Mule 4</name>

    <parent>
        <groupId>com.mulesoft.connectors</groupId>
        <artifactId>mule-connectivity-parent</artifactId>
        <version>3.3.0-RUNTIME.4.1.x</version>
    </parent>

    <properties>
        <cxf.version>3.3.8</cxf.version>
        <woodstox.core.version>6.2.0</woodstox.core.version>
        <jackson.version>2.14.0-rc1</jackson.version>
        <jopt.version>4.6</jopt.version>
        <httpcomponents.httpclient.version>4.5.13</httpcomponents.httpclient.version>
        <commons.codec.version>1.14</commons.codec.version>
        <gwt.version>2.5.0-rc1</gwt.version>
        <hamcrest.version>1.3</hamcrest.version>
        <commons.io.version>2.7</commons.io.version>
        <commons.collections.version>3.2.2</commons.collections.version>
        <commons.lang.version>3.9</commons.lang.version>
        <muleHttpServiceVersion>1.1.0</muleHttpServiceVersion>
        <guava.version>29.0-jre</guava.version>
        <jodd.bean.utils>4.3.0</jodd.bean.utils>
        <hamcrest.json>0.2</hamcrest.json>
        <deployment.url>
            https://maven.qax.anypoint.mulesoft.com/api/v1/organizations/${exchange.organization.id}/maven
        </deployment.url>
        <sonar.exclusions>
            **com/mulesoft/connectors/microsoft/dynamics/crm/internal/model/**/*,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/connection/parameters/*,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/connection/security/online/**/*
        </sonar.exclusions>
        <sonar.coverage.exclusions>
            **com/mulesoft/connectors/microsoft/dynamics/crm/internal/model/**/*,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/connection/parameters/*,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/connection/security/online/**/*,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/service/connection/soap/OnlineSoapClientProvider.java,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/datasense/AbstractMetadataResolver.java,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/utils/ExceptionUtilsCRM.java,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/utils/MetadataUtil.java,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/datasense/retrievers/attributes/AttributesFactoryManager.java,**com/mulesoft/connectors/microsoft/dynamics/crm/internal/service/DynamicsCRMServiceImpl.java
        </sonar.coverage.exclusions>
        <!-- Remove when a new parent version with MTF is available -->
        <munit.input.directory>src/test/munit</munit.input.directory>
        <munit.output.directory>${basedir}/target/test-mule/munit</munit.output.directory>
        <munit.extensions.maven.plugin.version>1.0.0</munit.extensions.maven.plugin.version>
        <munit.version>2.2.4</munit.version>
        <mtf.tools.version>1.0.0</mtf.tools.version>
        <mavenResourcesVersion>3.0.2</mavenResourcesVersion>
        <!-- runtime version to run -->
        <runtimeVersion>4.1.3</runtimeVersion>
        <runtimeProduct>MULE_EE</runtimeProduct>
        <mule.sdk.api.version>0.3.0</mule.sdk.api.version>
        <apache.santuario.version>2.1.7</apache.santuario.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mule.sdk</groupId>
            <artifactId>mule-sdk-api</artifactId>
            <version>${mule.sdk.api.version}</version>
        </dependency>

        <dependency>
            <groupId>net.sf.jopt-simple</groupId>
            <artifactId>jopt-simple</artifactId>
            <version>${jopt.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-service-http-api</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mule.services</groupId>
            <artifactId>mule-service-http</artifactId>
            <version>${muleHttpServiceVersion}</version>
            <classifier>mule-service</classifier>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.mule.services</groupId>
            <artifactId>mule-service-scheduler</artifactId>
            <version>1.1.2</version>
            <classifier>mule-service</classifier>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

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

        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>${commons.collections.version}</version>
        </dependency>

        <dependency>
            <groupId>org.jodd</groupId>
            <artifactId>jodd-bean</artifactId>
            <version>${jodd.bean.utils}</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commons.io.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.woodstox</groupId>
                    <artifactId>woodstox-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

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

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-policy</artifactId>
            <version>${cxf.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-simple</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>${cxf.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>net.sf.ehcache</groupId>
                    <artifactId>ehcache</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk15on</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.santuario</groupId>
                    <artifactId>xmlsec</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

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

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons.lang.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>${hamcrest.version}</version>
        </dependency>

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

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpcomponents.httpclient.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-codec</groupId>
                    <artifactId>commons-codec</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>${commons.codec.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.santuario/xmlsec -->
        <!--excluded from org.apache.cxf - cxf-rt-ws-security-->
        <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>${apache.santuario.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <id>connector-analyze</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>analyze-only</goal>
                        </goals>
                        <configuration>
                            <ignoredDependencies>
                                <ignoredDependency>org.mule.*</ignoredDependency>
                                <ignoredDependency>org.glassfish.jersey.inject</ignoredDependency>
                                <ignoredDependency>commons-collections</ignoredDependency>
                                <ignoredDependency>commons-io</ignoredDependency>
                                <ignoredDependency>org.apache.cxf</ignoredDependency>
                                <ignoredDependency>uk.co.datumedge</ignoredDependency>
                                <ignoredDependency>com.sun.mail:jakarta.mail</ignoredDependency>
                                <ignoredDependency>com.fasterxml.woodstox</ignoredDependency>
                                <ignoredDependency>org.apache.httpcomponents</ignoredDependency>
                                <ignoredDependency>commons-codec</ignoredDependency>
                            </ignoredDependencies>
                            <failOnWarning>true</failOnWarning>
                            <ignoredUsedUndeclaredDependencies>
                                <ignoredUsedUndeclaredDependency>*</ignoredUsedUndeclaredDependency>
                            </ignoredUsedUndeclaredDependencies>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- munit plugins -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${mavenResourcesVersion}</version>
                <executions>
                    <execution>
                        <id>copy-munit-resources</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/test-mule/munit</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/test/munit</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-extensions-maven-plugin</artifactId>
                <version>1.0.0-BETA2</version>
                <executions>
                    <execution>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <!-- MUnit Dependencies -->
                    <dependency>
                        <groupId>com.mulesoft.munit</groupId>
                        <artifactId>munit-runner</artifactId>
                        <version>${munit.version}</version>
                        <classifier>mule-plugin</classifier>
                    </dependency>
                    <dependency>
                        <groupId>com.mulesoft.munit</groupId>
                        <artifactId>munit-tools</artifactId>
                        <version>${munit.version}</version>
                        <classifier>mule-plugin</classifier>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>exchange-qax-deployer</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <deployment.url>
                    https://maven.qax.anypoint.mulesoft.com/api/v1/organizations/${exchange.organization.id}/maven
                </deployment.url>
            </properties>
            <distributionManagement>
                <repository>
                    <id>exchange-qax</id>
                    <name>MuleSoft Exchange QAX Environment</name>
                    <url>${deployment.url}</url>
                </repository>
                <snapshotRepository>
                    <id>exchange-qax</id>
                    <name>MuleSoft Exchange QAX Environment</name>
                    <url>${deployment.url}</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
    </profiles>
    <scm>
        <connection>scm:git:git@github.com:mulesoft/mule-microsoft-dynamics-crm-connector.git</connection>
        <developerConnection>scm:git:git@github.com:mulesoft/mule-microsoft-dynamics-crm-connector.git
        </developerConnection>
        <url>https://github.com/mulesoft/mule-microsoft-dynamics-crm-connector</url>
        <tag>mule-microsoft-dynamics-crm-connector-3.1.4</tag>
    </scm>
    <repositories>
        <repository>
            <id>mule-releases</id>
            <name>Nexus Public Releases</name>
            <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases/</url>
        </repository>
    </repositories>
</project>
