<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.eclipse.epsilon</groupId>
		<artifactId>tests</artifactId>
		<version>2.4.0-SNAPSHOT</version>
	</parent>
	<artifactId>org.eclipse.epsilon.test</artifactId>
	<packaging>${packaging.type}</packaging>

	<build>
		<testSourceDirectory>${project.basedir}/src</testSourceDirectory>
		<testOutputDirectory>${project.basedir}/target/classes</testOutputDirectory>
	</build>

	<dependencies>
		<dependency>
		  <groupId>junit</groupId>
		  <artifactId>junit</artifactId>
		  <version>4.13</version>
		  <scope>test</scope>
		</dependency>
  	</dependencies>

	<profiles>
		<profile>
			<id>plugin-build</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<packaging.type>eclipse-plugin</packaging.type>
			</properties>
		</profile>
		<profile>
			<id>plugged</id>
			<activation>
				<activeByDefault>false</activeByDefault>
            </activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho.version}</version>
						<configuration>
							<application>org.eclipse.ui.ide.workbench</application>
							<useUIThread>true</useUIThread>
							<useUIHarness>true</useUIHarness>
							<includes>
								<include>**/*EpsilonPluggedInTest*</include>
							</includes>
							<dependencies>
								<dependency>
									<type>eclipse-plugin</type>
									<artifactId>org.eclipse.equinox.event</artifactId>
									<version>0.0.0</version>
								</dependency>
								<dependency>
									<type>eclipse-plugin</type>
									<artifactId>org.eclipse.osgi.compatibility.state</artifactId>
									<version>0.0.0</version>
								</dependency>
								<dependency>
									<type>eclipse-plugin</type>
									<artifactId>org.eclipse.jdt.ui</artifactId>
									<version>0.0.0</version>
								</dependency>

								<!--
										This is needed to have the EUnit custom non-OSGi comparator
										test pass: Tycho doesn't automatically use it, even though
										it is a fragment of eunit.engine.
								-->
								<dependency>
									<type>eclipse-plugin</type>
									<artifactId>org.eclipse.epsilon.eunit.engine.test.comparators</artifactId>
									<version>0.0.0</version>
								</dependency>
							</dependencies>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<properties>
				<packaging.type>eclipse-test-plugin</packaging.type>
				<argLine>-ea -Xmx2g</argLine>
				<tests.skip.tests>false</tests.skip.tests>
				<skipTests>${tests.skip.tests}</skipTests>
			</properties>
		</profile>
		<profile>
			<id>ci</id>
			<activation>
                <activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>3.0.0-M4</version>
						<configuration>
							<includes>
								<include>**/*EpsilonJenkinsTest*</include>
							</includes>
							<reuseForks>true</reuseForks>
							<forkCount>1</forkCount>
							<useUnlimitedThreads>false</useUnlimitedThreads>
							<threadCount>1</threadCount>
							<additionalClasspathElements>
								<additionalClasspathElement>${basedir}/../../plugins/org.eclipse.epsilon.workflow/lib/org.eclipse.epsilon.workflow.jar</additionalClasspathElement>
								<additionalClasspathElement>${basedir}/../../plugins/org.eclipse.epsilon.workflow.emf/lib/org.eclipse.epsilon.workflow.emf.jar</additionalClasspathElement>
							</additionalClasspathElements>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<properties>
				<packaging.type>eclipse-plugin</packaging.type>
				<argLine>-ea -Xmx3g</argLine>
			</properties>
		</profile>
		<profile>
			<id>unit</id>
			<activation>
                <activeByDefault>false</activeByDefault>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.eclipse.epsilon</groupId>
					<artifactId>org.eclipse.epsilon.evl.engine.test.acceptance</artifactId>
					<version>${project.version}</version>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>3.0.0-M4</version>
						<configuration>
							<includes>
								<include>**/*EpsilonSurefireTest*</include>
								<include>**/*EvlAdvancedTest*</include>
							</includes>
							<dependenciesToScan>
								<dependency>org.eclipse.epsilon:org.eclipse.epsilon.evl.engine.test.acceptance</dependency>
							</dependenciesToScan>
							<additionalClasspathElements>
								<additionalClasspathElement>${basedir}/../../plugins/org.eclipse.epsilon.workflow/lib/org.eclipse.epsilon.workflow.jar</additionalClasspathElement>
								<additionalClasspathElement>${basedir}/../../plugins/org.eclipse.epsilon.workflow.emf/lib/org.eclipse.epsilon.workflow.emf.jar</additionalClasspathElement>
							</additionalClasspathElements>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<properties>
				<packaging.type>eclipse-plugin</packaging.type>
				<argLine>-ea -Xms2g -Xmx6g</argLine>
			</properties>
		</profile>
	</profiles>
</project>
