<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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>mule4-azure-eventhubs-connector</artifactId>
    <version>1.2.1-SNAPSHOT</version>
    <packaging>mule-extension</packaging>
    <name>Azure Event Hubs Connector - Mule 4</name>

    <parent>
        <groupId>com.mulesoft.connectors</groupId>
        <artifactId>mule4-connectors-parent</artifactId>
        <version>3.0.1</version>
    </parent>

    <properties>
        <azure-messaging-eventhubs.version>5.19.0</azure-messaging-eventhubs.version>
        <azure-identity.version>1.18.1</azure-identity.version>
        <azure-checkpointstore-blob.version>1.16.6</azure-checkpointstore-blob.version>
        <google-guava.version>33.1.0-jre</google-guava.version>
        <junit-jupiter.version>5.9.2</junit-jupiter.version>
        <licensePath>LICENSE.md</licensePath>
        <jdk.version>1.8</jdk.version>
        <runtimeProduct>MULE_EE</runtimeProduct>
        <runtimeVersion>4.4.0</runtimeVersion>
        <ignore-metadata-generation>true</ignore-metadata-generation>
        <mavenResourcesVersion>3.0.2</mavenResourcesVersion>
        <maven-surefire-plugin.version>3.0.0-M7</maven-surefire-plugin.version>
        <ignore-metadata-tests>false</ignore-metadata-tests>
        <skipTests>false</skipTests>
        <!-- Continuous Integration-->
        <munit.extensions.maven.plugin.version>1.6.0</munit.extensions.maven.plugin.version>
        <munit.version>3.5.0</munit.version>
        <munit.input.directory>src/test/munit</munit.input.directory>
        <mule.vm.version>2.0.1</mule.vm.version>
        <file.connector.version>1.5.2</file.connector.version>
        <woodstox-core.version>5.4.0</woodstox-core.version>
        <mule-connector-commons.version>2.1.1</mule-connector-commons.version>
        <!--Sonar Exclusions-->
        <sonar.coverage.exclusions>**/com/mulesoft/connectors/azure/eventhubs/api/**/*</sonar.coverage.exclusions>
    </properties>

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

    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-messaging-eventhubs</artifactId>
            <version>${azure-messaging-eventhubs.version}</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>${azure-identity.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-messaging-eventhubs-checkpointstore-blob</artifactId>
            <version>${azure-checkpointstore-blob.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${google-guava.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mule.sdk</groupId>
            <artifactId>mule-sdk-api</artifactId>
            <version>${mule.sdk.api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.connectors</groupId>
            <artifactId>mule-connector-commons</artifactId>
            <version>${mule-connector-commons.version}</version>
        </dependency>
        
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
            </plugin>
            <!-- munit plugins -->
            <plugin>
                <groupId>com.mulesoft.munit</groupId>
                <artifactId>munit-extensions-maven-plugin</artifactId>
                <version>${munit.extensions.maven.plugin.version}</version>
                <configuration>
                    <systemPropertyVariables>
                        <munit.test.timeout>600000</munit.test.timeout>
                    </systemPropertyVariables>
                    <argLines>
                        <argLine>
                            -Dcom.mulesoft.dw.stacksize=2048
                        </argLine>
                        <argLine>
                            -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${session.executionRootDirectory}/target/jacoco-munit.exec
                        </argLine>
                    </argLines>
                    <sharedLibraries>
                        <sharedLibrary>
                            <groupId>com.azure</groupId>
                            <artifactId>azure-messaging-eventhubs</artifactId>
                        </sharedLibrary>
                    </sharedLibraries>
                </configuration>
                <executions>
                    <execution>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.azure</groupId>
                        <artifactId>azure-messaging-eventhubs</artifactId>
                        <version>${azure-messaging-eventhubs.version}</version>
                    </dependency>
                    <!-- 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>
                    <dependency>
                        <groupId>com.mulesoft.munit</groupId>
                        <artifactId>mtf-tools</artifactId>
                        <version>${mtf.tools.version}</version>
                        <classifier>mule-plugin</classifier>
                    </dependency>
                    <dependency>
                        <groupId>org.mule.connectors</groupId>
                        <artifactId>mule-vm-connector</artifactId>
                        <version>${mule.vm.version}</version>
                        <classifier>mule-plugin</classifier>
                    </dependency>
                    <!-- For metadata tests -->
                    <dependency>
                        <groupId>org.mule.connectors</groupId>
                        <artifactId>mule-file-connector</artifactId>
                        <version>${file.connector.version}</version>
                        <classifier>mule-plugin</classifier>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <configuration>
                    <destFile>${session.executionRootDirectory}/target/jacoco-java.exec</destFile>
                    <excludes>
                        <exclude>com/mulesoft/connectors/azure/eventhubs/api/*</exclude>
                        <exclude>com/mulesoft/connectors/azure/eventhubs/internal/error/exception//**/*.class</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>merge</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>merge</goal>
                        </goals>
                        <configuration>
                            <destFile>${session.executionRootDirectory}/target/jacoco.exec</destFile>
                            <fileSets>
                                <fileSet>
                                    <directory>${project.build.directory}</directory>
                                    <includes>
                                        <include>*.exec</include>
                                    </includes>
                                </fileSet>
                            </fileSets>
                        </configuration>
                    </execution>
                    <execution>
                        <id>report</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <scm>
        <connection>scm:git:git@github.com:mulesoft/mule4-azure-eventhubs-connector.git</connection>
        <developerConnection>scm:git:git@github.com:mulesoft/mule4-azure-eventhubs-connector.git
        </developerConnection>
        <url>https://github.com/mulesoft/mule4-azure-eventhubs-connector</url>
        <tag>HEAD</tag>
    </scm>
</project>
