<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015, Ericsson, Inc. All rights reserved. This program 
	and the accompanying materials are made available under the terms of the 
	Eclipse Public License v1.0 which accompanies this distribution, and is available 
	at http://www.eclipse.org/legal/epl-v10.html -->

<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.egerrit</groupId>
		<artifactId>org.eclipse.egerrit.parent</artifactId>
		<version>1.4.0-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>

	<name>EGerrit Core Tests Plug-in</name>
	<artifactId>org.eclipse.egerrit.core.tests</artifactId>
	<packaging>eclipse-test-plugin</packaging>

	<properties>
		<!-- Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=397015 -->
		<sonar.sources></sonar.sources>
		<sonar.tests>src</sonar.tests>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<argLine>${tycho.testArgLine} -DEGerritGerritTestServerHost=${EGerritGerritTestServerHost} -DEGerritGerritTestServerPort=${EGerritGerritTestServerPort}</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>hudson</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho.version}</version>
						<configuration>
							<argLine>${tycho.testArgLine} -DEGerritGerritTestServerHost=${EGerritGerritTestServerHost} -DEGerritGerritTestServerPort=${EGerritGerritTestServerPort} -DEGerritUseDefinedProxy=true -Declipse.pluginCustomization=${project.basedir}/../org.eclipse.egerrit.releng/eclipseFoundation-proxy-settings.ini</argLine>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>


</project>
