<?xml version="1.0" encoding="UTF-8"?>
<!--#======================================================================= -->
<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
<!--# 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 -->
<!--# -->
<!--# Contributors: -->
<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and 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.osbp.ecview.core</groupId>
    <artifactId>org.eclipse.osbp.ecview.core</artifactId>
    <version>0.9.0-SNAPSHOT</version>
  </parent>
  <artifactId>org.eclipse.osbp.ecview.core.common.model.tests</artifactId>
  <packaging>eclipse-test-plugin</packaging>
  <description>Tests for core model</description>
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<configuration>
					<includes>
						<include>**/*Test.class</include>
					</includes>
					<failIfNoTests>false</failIfNoTests>
					<showEclipseLog>true</showEclipseLog>
					<!-- <argLine>${ui.test.vmargs}</argLine> -->
					<bundleStartLevel>
						<bundle>
							<id>org.eclipse.osgi</id>
							<level>-1</level>
							<autoStart>true</autoStart>
						</bundle>
						<bundle>
							<id>org.eclipse.equinox.common</id>
							<level>1</level>
							<autoStart>true</autoStart>
						</bundle>
						<bundle>
							<id>org.eclipse.equinox.ds</id>
							<level>2</level>
							<autoStart>true</autoStart>
						</bundle>
						<bundle>
							<id>org.eclipse.equinox.log</id>
							<level>1</level>
							<autoStart>true</autoStart>
						</bundle>
						<bundle>
							<id>org.eclipse.osgi.services</id>
							<level>1</level>
							<autoStart>true</autoStart>
						</bundle>
						<bundle>
							<id>org.eclipse.osbp.ecview.core.common.model.tests</id>
							<level>4</level>
							<autoStart>true</autoStart>
						</bundle>
					</bundleStartLevel>

					<dependencies>
						<!-- Plugins -->
						<dependency>
							<type>eclipse-plugin</type>
							<artifactId>org.eclipse.equinox.ds</artifactId>
							<version>0.0.0</version>
						</dependency>
						<dependency>
							<type>eclipse-plugin</type>
							<artifactId>org.eclipse.equinox.util</artifactId>
							<version>0.0.0</version>
						</dependency>
					</dependencies>

					<useUIHarness>false</useUIHarness>
					<useUIThread>false</useUIThread>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
