<?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">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.eclipse.papyrus.interoperability.tests</groupId>
		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.plugins</artifactId>
		<version>0.10.1-SNAPSHOT</version>
	</parent>
	<groupId>org.eclipse.papyrus.interoperability.tests</groupId>
	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests</artifactId>
	<version>0.10.1-SNAPSHOT</version>
	<packaging>eclipse-test-plugin</packaging>
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<useUIHarness>true</useUIHarness>
					<useUIThread>true</useUIThread>
					<testFailureIgnore>true</testFailureIgnore>
					<product>org.eclipse.sdk.ide</product>
					<!-- If a specific <argLine> is required here, make sure to include JaCoCo parameters (See parent pom, Bug 478170) -->
					<skipTests>${skipAllTests}</skipTests>
					<testClass>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests.AllTests</testClass>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
			</plugin>
		</plugins>
	</build>
</project>