<?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/maven-v4_0_0.xsd">

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

	<modelVersion>4.0.0</modelVersion>
	<name>X12 EDI Connector</name>
	<artifactId>mule-x12-connector</artifactId>
	<version>2.17.1</version>
	<packaging>mule-extension</packaging>

	<properties>
		<jdk.version>1.8</jdk.version>
		<edi.parser.version>2.4.36</edi.parser.version>
		<junit.version>4.13.2</junit.version>
		<flatfileMetadataVersion>1.3.0</flatfileMetadataVersion>
		<support.version>2.15.1</support.version>
		<sync.utils.version>1.0.5</sync.utils.version>
		<!--  Added this MUnit properties because it was failing locally
		  "Could not find artifact com.mulesoft.munit:munit-remote:jar:jar-with-dependencies:2.2.3" -->
		<munit.extensions.maven.plugin.version>1.2.0</munit.extensions.maven.plugin.version>
		<munit.version>3.1.0</munit.version>
		<mtf.tools.version>1.2.0</mtf.tools.version>
		<licensePath>LICENSE.md</licensePath>
		<!-- runtime version to run  -->
		<runtimeVersion>4.3.0</runtimeVersion>
		<runtimeProduct>MULE_EE</runtimeProduct>
		<mtf.javaopts/>
		<mule.objectstore.connector.version>1.2.2</mule.objectstore.connector.version>
		<mule.file.connector.version>1.5.2</mule.file.connector.version>
		<jacoco.version>0.8.10</jacoco.version>
		<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.mule.sdk</groupId>
			<artifactId>mule-sdk-api</artifactId>
			<version>0.7.0</version>
		</dependency>
		<dependency>
			<groupId>org.mule.runtime</groupId>
			<artifactId>mule-core</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>org.yaml</groupId>
					<artifactId>snakeyaml</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.mule.edi</groupId>
			<artifactId>edi-parser</artifactId>
			<version>${edi.parser.version}</version>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.connectors</groupId>
			<artifactId>mule4-b2b-commons-sync</artifactId>
			<version>${sync.utils.version}</version>
		</dependency>
		<dependency>
			<groupId>org.mule.metadata.flatfile</groupId>
			<artifactId>schema-metadata</artifactId>
			<version>${flatfileMetadataVersion}</version>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.connectors</groupId>
			<artifactId>x12-parser</artifactId>
			<version>${support.version}</version>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.connectors</groupId>
			<artifactId>x12-schemas</artifactId>
			<version>${support.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.14.0</version>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.connectors</groupId>
			<artifactId>x12-metaloader</artifactId>
			<version>${support.version}</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jdeps-plugin</artifactId>
				<version>3.1.2</version>
				<executions>
					<execution>
						<goals>
							<goal>jdkinternals</goal>
							<!-- verify main classes -->
							<goal>test-jdkinternals</goal>
							<!-- verify test classes -->
						</goals>
					</execution>
				</executions>
				<configuration>
					<failOnWarning>true</failOnWarning>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${maven.enforcer.version}</version>
				<executions>
					<execution>
						<id>default-enforced-rules</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<banDistributionManagement/>
								<requireNoRepositories>
									<allowedRepositories>
										<!-- This is a repository provided by this pom's parent. -->
										<allowedRepository>mule</allowedRepository>
										<allowedRepository>mule-releases</allowedRepository>
										<allowedRepository>mule-ci-snapshots</allowedRepository>
									</allowedRepositories>
									<allowedPluginRepositories>
										<!-- These are repositories provided by this pom's parent. -->
										<allowedPluginRepository>mulesoft-plugin-releases</allowedPluginRepository>
										<allowedPluginRepository>mulesoft-plugin-snapshots</allowedPluginRepository>
										<allowedPluginRepository>ci-releases</allowedPluginRepository>
									</allowedPluginRepositories>
								</requireNoRepositories>
							</rules>
							<fail>true</fail>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- munit plugins -->
			<plugin>
				<groupId>com.mulesoft.munit</groupId>
				<artifactId>munit-extensions-maven-plugin</artifactId>
				<version>${munit.extensions.maven.plugin.version}</version>
				<dependencies>
					<dependency>
						<groupId>org.mule.connectors</groupId>
						<artifactId>mule-file-connector</artifactId>
						<version>${mule.file.connector.version}</version>
						<classifier>mule-plugin</classifier>
					</dependency>
					<dependency>
						<groupId>org.mule.connectors</groupId>
						<artifactId>mule-objectstore-connector</artifactId>
						<version>${mule.objectstore.connector.version}</version>
						<classifier>mule-plugin</classifier>
					</dependency>
					<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>
				</dependencies>
				<configuration>
					<runtimeConfiguration>
						<discoverRuntimes>
							<minMuleVersion>${runtimeVersion}</minMuleVersion>
							<includeSnapshots>false</includeSnapshots>
							<product>EE</product>
						</discoverRuntimes>
					</runtimeConfiguration>
					<argLines>
						<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>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.6.1</version>
				<executions>
					<execution>
						<id>connector-analyze</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>analyze-only</goal>
						</goals>
						<configuration>
							<ignoredDependencies>
								<ignoredDependency>org.mule.*</ignoredDependency>
								<ignoredDependency>com.sun.mail:jakarta.mail</ignoredDependency>
								<ignoredDependency>com.mulesoft.connectors:x12-compatibility-schemas:jar</ignoredDependency>
							</ignoredDependencies>
							<failOnWarning>true</failOnWarning>
							<ignoredUsedUndeclaredDependencies>
								<ignoredUsedUndeclaredDependency>*</ignoredUsedUndeclaredDependency>
							</ignoredUsedUndeclaredDependencies>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<pluginRepositories>
		<pluginRepository>
			<id>mulesoft-plugin-releases</id>
			<name>MuleSoft Release Repository</name>
			<url>https://repository.mulesoft.org/releases/</url>
		</pluginRepository>
		<pluginRepository>
			<id>mulesoft-plugin-snapshots</id>
			<name>MuleSoft Snapshots Repository</name>
			<url>https://repository.mulesoft.org/snapshots/</url>
		</pluginRepository>
		<pluginRepository>
			<id>ci-releases</id>
			<name>Nexus CI Releases</name>
			<url>https://repository-master.mulesoft.org/nexus/content/repositories/ci-releases/</url>
		</pluginRepository>
	</pluginRepositories>

	<repositories>
		<repository>
			<id>mule-releases</id>
			<name>Nexus Public Releases</name>
			<url>https://repository-master.mulesoft.org/nexus/content/repositories/releases/</url>
		</repository>
		<repository>
			<id>mule-ci-snapshots</id>
			<name>Nexus CI Snapshots</name>
			<url>https://repository-master.mulesoft.org/nexus/content/repositories/ci-snapshots/</url>
		</repository>
	</repositories>

</project>
