<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">

	<name>EASE Modules Unit Tests</name>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>org.eclipse.ease.modules.tests</artifactId>
	<version>0.9.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<parent>
		<groupId>org.eclipse.ease.modules</groupId>
		<version>0.9.0-SNAPSHOT</version>
		<artifactId>org.eclipse.ease.modules.releng</artifactId>
		<relativePath>../releng/org.eclipse.ease.modules.releng</relativePath>
	</parent>

	<build>
		<plugins>
			<!-- set JUnit runner to Junit 5 -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<providerHint>junit57</providerHint>
					<trimStackTrace>false</trimStackTrace>
					
					<dependencies>
						<!-- avoid CNFE in Surefire when looking for JUnitPlatformProvider -->
						<dependency>
							<artifactId>org.junit</artifactId>
							<type>eclipse-plugin</type>
						</dependency>
					</dependencies>
				</configuration>
			</plugin>

			<!-- enable JaCoCo code coverage -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${jacoco.version}</version>

				<configuration>
					<output>file</output>
				</configuration>

				<executions>
					<execution>
						<id>jacoco-initialize</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>  