<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2012, 2017 Eclipse Foundation. All rights reserved. This program
	and the accompanying materials are made available under the terms of the
	Eclipse Distribution License v1.0 which accompanies this distribution, and
	is available at http://www.eclipse.org/org/documents/edl-v10.php Contributors:
	Igor Fedorenko - initial implementation -->
<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</groupId>
		<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
		<version>4.17.0-SNAPSHOT</version>
		<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
	</parent>

	<groupId>org.eclipse.equinox</groupId>
	<artifactId>org.eclipse.equinox.p2.tests</artifactId>
	<version>1.7.1100-SNAPSHOT</version>
	<packaging>eclipse-test-plugin</packaging>

	<properties>
		<testSuite>${project.artifactId}</testSuite>
		<testClass>org.eclipse.equinox.p2.tests.AutomatedTests</testClass>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<configuration>
					<argLine>-Xmx512m -Dorg.eclipse.equinox.p2.reconciler.tests.platform.archive=${project.build.directory}/../../org.eclipse.equinox.p2.tests.reconciler.product/target/products/${dropinsProduct} -Dorg.eclipse.equinox.p2.reconciler.tests.35.platform.archive=${platform.archive.name} -Dorg.eclipse.equinox.p2.repository -Dorg.eclipse.equinox.p2.transport.ecf.retry=5</argLine>
					<appArgLine>-consoleLog -debug</appArgLine>
					<explodedBundles>
						<explodedBundle>org.apache.ant</explodedBundle>
					</explodedBundles>
					<dependencies>
						<dependency>
							<type>eclipse-plugin</type>
							<artifactId>org.eclipse.osgi.compatibility.state</artifactId>
							<version>0.0.0</version>
						</dependency>
					</dependencies>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>mac_x86_64</id>
			<activation>
				<os>
					<family>mac</family>
					<arch>x86_64</arch>
				</os>
			</activation>
			<properties>
					<dropinsProduct>org.eclipse.equinox.p2.reconciler-macosx.cocoa.x86_64.zip</dropinsProduct>
			</properties>
		</profile>
		<profile>
			<id>linux_amd64</id>
			<activation>
				<os>
					<family>linux</family>
					<arch>amd64</arch>
				</os>
			</activation>
			<properties>
					<dropinsProduct>org.eclipse.equinox.p2.reconciler-linux.gtk.x86_64.tar.gz</dropinsProduct>
			</properties>
		</profile>
		<profile>
			<id>linux_ppc64le</id>
			<activation>
				<os>
					<family>linux</family>
					<arch>ppc64le</arch>
				</os>
			</activation>
			<properties>
					<dropinsProduct>org.eclipse.equinox.p2.reconciler-linux.gtk.ppc64le.tar.gz</dropinsProduct>
			</properties>
		</profile>
		<profile>
			<id>win_x86_64</id>
			<activation>
				<os>
					<family>win</family>
					<arch>x86_64</arch>
				</os>
			</activation>
			<properties>
					<dropinsProduct>org.eclipse.equinox.p2.reconciler-win32.win32.x86_64.zip</dropinsProduct>
			</properties>
		</profile>
	</profiles>
</project>
