<?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">
    <parent>
        <artifactId>munit-maven-tools</artifactId>
        <groupId>com.mulesoft.munit</groupId>
        <version>3.6.2</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>munit-maven-plugins-common</artifactId>
    <name>MUnit :: Maven Plugins Common</name>

    <properties>
        <licensePath>../../LICENSE_HEADER.txt</licensePath>
        <formatterConfigPath>../../formatter.xml</formatterConfigPath>
        <spotbugsExcludePath>../../findbugs-exclude.xml</spotbugsExcludePath>

        <coverageLineLimit>0.45</coverageLineLimit>
        <coverageBranchLimit>0.38</coverageBranchLimit>
        <runtime.discovery.version>4.0.0</runtime.discovery.version>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <systemPropertyVariables>
                            <!-- These are needed to be able to fully mock the execution for the module-path case -->
                            <settings.localRepository>${settings.localRepository}</settings.localRepository>
                            <project.version>${project.version}</project.version>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencies>
        <!-- Mule Dependencies -->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>munit-remote</artifactId>
            <version>${project.version}</version>
            <classifier>jar-with-dependencies</classifier>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-supplier</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-connector-basic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-wagon</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-file</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-http</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>runtime-discovery-api</artifactId>
            <version>${runtime.discovery.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>runtime-discovery-core</artifactId>
            <version>${runtime.discovery.version}</version>
        </dependency>

        <!-- MUnit Dependencies -->
        <dependency>
        <groupId>com.mulesoft.munit</groupId>
        <artifactId>munit-starter</artifactId>
        <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>munit-remote</artifactId>
            <version>${project.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-supplier</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-connector-basic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-wagon</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-file</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-http</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>munit-starter</artifactId>
            <version>${project.version}</version>
            <classifier>dependencies</classifier>
            <type>zip</type>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>munit-remote</artifactId>
            <version>${project.version}</version>
            <classifier>dependencies</classifier>
            <type>zip</type>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-supplier</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-connector-basic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-wagon</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-file</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-http</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-archiver</artifactId>
            <version>${plexus.archiver.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-utils</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-util</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.yaml</groupId>
                    <artifactId>snakeyaml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.glassfish.jersey.core</groupId>
                    <artifactId>jersey-common</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mule.tools.maven</groupId>
                    <artifactId>mule-classloader-model</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>jcl-over-slf4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven</groupId>
                    <artifactId>maven-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mule</groupId>
                    <artifactId>maven-model-shaded</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mule</groupId>
                    <artifactId>mule-maven-client-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mule</groupId>
                    <artifactId>mule-maven-pom-parser-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.luben</groupId>
                    <artifactId>zstd-jni</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.checkerframework</groupId>
                    <artifactId>checker-qual</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.google.errorprone</groupId>
                    <artifactId>error_prone_annotations</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-impl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
                <dependency>
                    <groupId>org.mule.tools.maven</groupId>
                    <artifactId>mule-packager</artifactId>
                    <exclusions>
                        <exclusion>
                            <groupId>org.glassfish</groupId>
                            <artifactId>jakarta.json</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.mule.tools.maven</groupId>
                            <artifactId>mule-classloader-model</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-archiver</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>jakarta.json</groupId>
                            <artifactId>jakarta.json-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>jakarta.activation</groupId>
                            <artifactId>jakarta.activation-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.maven</groupId>
                            <artifactId>maven-compat</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-sec-dispatcher</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.commons</groupId>
                            <artifactId>commons-compress</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.httpcomponents</groupId>
                            <artifactId>httpcore</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.maven.resolver</groupId>
                            <artifactId>maven-resolver-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>com.vdurmont</groupId>
                            <artifactId>semver4j</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-utils</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.maven.resolver</groupId>
                            <artifactId>maven-resolver-util</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.yaml</groupId>
                            <artifactId>snakeyaml</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.glassfish.jersey.core</groupId>
                            <artifactId>jersey-common</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.mule.tools.maven</groupId>
                            <artifactId>mule-classloader-model</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>jcl-over-slf4j</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.apache.maven</groupId>
                            <artifactId>maven-core</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>${xstream.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mule</groupId>
            <artifactId>mule-maven-client-impl</artifactId>
            <version>${mule.maven.client.impl.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-supplier</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-connector-basic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-wagon</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-file</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven.resolver</groupId>
                    <artifactId>maven-resolver-transport-http</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Tests dependencies -->

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

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.13</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


</project>
