<?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.linuxtools</groupId>
		<artifactId>org.eclipse.linuxtools.docker</artifactId>
		<version>4.5.1</version>
	</parent>
	<artifactId>org.eclipse.linuxtools.docker.integration.tests</artifactId>
	<version>2.2.0-SNAPSHOT</version>
	<packaging>eclipse-test-plugin</packaging>
	
	<properties>
		<systemProperties>-DsearchConnection=${searchConnection} -DdockerServerURI=${dockerServerURI} -DunixSocket=${unixSocket} -DdockerHubUsername=${dockerHubUsername} -DdockerHubEmail=${dockerHubEmail} -DdockerHubPassword=${dockerHubPassword} -DdockerComposePath=${dockerComposePath} -DdockerMockito=${dockerMockito} -DtargetPlatformRepoURL=${targetPlatformRepoURL} -DtargetPlatformFeatureGroupID=${targetPlatformFeatureGroupID}</systemProperties>
		<searchConnection></searchConnection>
		<unixSocket></unixSocket>
		<dockerServerURI></dockerServerURI>
		<dockerHubUsername></dockerHubUsername>
		<dockerHubEmail></dockerHubEmail>
		<dockerHubPassword></dockerHubPassword>
		<dockerComposePath></dockerComposePath>
		<dockerMockito>true</dockerMockito>
		<tycho.test.jvmArgs>-Xmx800m</tycho.test.jvmArgs>
		<tycho.surefire.timeout>1800</tycho.surefire.timeout>
		<targetPlatformRepoURL></targetPlatformRepoURL>
		<targetPlatformFeatureGroupID></targetPlatformFeatureGroupID>
	</properties>


	<profiles>
		<profile>
			<id>ignore-mac-deps-on-other-os</id>
			<activation>
				<os>
					<family>!mac</family>
				</os>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<configuration>
							<dependency-resolution>
								<optionalDependencies>ignore</optionalDependencies>
							</dependency-resolution>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-compiler-plugin</artifactId>
						<configuration>
							<optionalDependencies>ignore</optionalDependencies>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho-version}</version>
						<configuration>
							<useUIThread>false</useUIThread>
							<forkedProcessTimeoutInSeconds>${tycho.surefire.timeout}</forkedProcessTimeoutInSeconds>
							<argLine>${tycho.test.jvmArgs} ${systemProperties}</argLine>
							<testClass>org.eclipse.linuxtools.docker.integration.tests.DockerAllBotTest</testClass>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>mac</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<properties>
				<!-- Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=388084 -->
				<!-- THE FOLLOWING LINE MUST NOT BE BROKEN BY AUTOFORMATTING -->
				<tycho.test.jvmArgs>-Xmx800m -XstartOnFirstThread</tycho.test.jvmArgs>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<configuration>
							<environments>
								<environment>
									<os>macosx</os>
									<ws>cocoa</ws>
									<arch>x86_64</arch>
								</environment>
							</environments>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<configuration>
							<useUIThread>false</useUIThread>
							<forkedProcessTimeoutInSeconds>${tycho.surefire.timeout}</forkedProcessTimeoutInSeconds>
							<argLine>${tycho.test.jvmArgs} ${systemProperties}</argLine>
							<testClass>org.eclipse.linuxtools.docker.integration.tests.DockerAllBotTest</testClass>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>change-target-platform</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<configuration>
      							<dependency-resolution>
           							<extraRequirements>
									<requirement>
										<type>p2-installable-unit</type>
										<id>${targetPlatformFeatureGroupID}</id>
										<versionRange>0.0.0</versionRange>
									</requirement>
         							</extraRequirements>
    							</dependency-resolution>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<repositories>
				<repository>
					<id>repo</id>
					<name>repo</name>
					<layout>p2</layout>
					<url>${targetPlatformRepoURL}</url>
				</repository>
			</repositories>
		</profile>
	</profiles>

</project>
