<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>com.mulesoft.connectors</groupId>
		<artifactId>mule4-connectors-parent</artifactId>
		<version>9.0.0</version>
    </parent>

    <groupId>org.mule.modules</groupId>
    <artifactId>mule-spring-module-parent</artifactId>
    <name>Spring Module</name>
    <packaging>pom</packaging>
    <version>2.0.0</version>


    <properties>
        <formatterConfigPath>formatter.xml</formatterConfigPath>
		<springVersion>6.2.9</springVersion>
		<springSecurityVersion>6.4.7</springSecurityVersion>
		<maven.compiler.source>17</maven.compiler.source>
		<maven.compiler.target>17</maven.compiler.target>
    </properties>

    <modules>
        <module>module</module>
        <module>test-plugin</module>
    </modules>

	<dependencyManagement>
	    <dependencies>
	        <dependency>
	            <groupId>org.mule.runtime</groupId>
            	<artifactId>mule-extensions-api-persistence</artifactId>
	            <exclusions>
	                <exclusion>
	                    <groupId>com.google.code.gson</groupId>
	                    <artifactId>gson</artifactId>
	                </exclusion>
	            </exclusions>
	        </dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-crypto</artifactId>
				<version>${springSecurityVersion}</version>
			</dependency>
	    </dependencies>
	</dependencyManagement>

    <repositories>
        <repository>
            <id>mule</id>
            <name>Mule Repository</name>
            <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
        </repository>
    </repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${jacoco.version}</version>
				<configuration>
					<destFile>${session.executionRootDirectory}/target/jacoco-java.exec</destFile>
				</configuration>
				<executions>
					<execution>
						<id>prepare-agent</id>
						<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>${session.executionRootDirectory}/target</directory>
									<includes>
										<include>jacoco.exec</include>
										<include>jacoco-munit.exec</include>
									</includes>
								</fileSet>
							</fileSets>
						</configuration>
					</execution>
					<execution>
						<id>report</id>
						<phase>verify</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>${session.executionRootDirectory}/target/jacoco.exec</dataFile>
							<outputDirectory>${session.executionRootDirectory}/target/jacoco</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
