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

  SPDX-License-Identifier: EPL-2.0

  Contributors:
      Marcus Eng (Google) - initial API and implementation
      Lars Vogel <Lars.Vogel@vogella.com> - Bug 443678, 457719
-->
<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>
    <artifactId>eclipse.platform.ui.tests</artifactId>
    <groupId>eclipse.platform.ui</groupId>
    <version>4.19.0-SNAPSHOT</version>
  </parent>
  <groupId>org.eclipse.ui</groupId>
  <artifactId>org.eclipse.ui.monitoring.tests</artifactId>
  <version>1.1.200-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>

  <properties>
    <unitTestSuite>org.eclipse.ui.internal.monitoring.MonitoringTestSuite</unitTestSuite>
    <skipAPIAnalysis>true</skipAPIAnalysis> <!-- Not in baseline -->
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho.version}</version>
      <configuration>
        <testSuite>org.eclipse.ui.monitoring.tests</testSuite>
        <testClass>${unitTestSuite}</testClass>
        <useUIHarness>true</useUIHarness>
        <useUIThread>true</useUIThread>
          <dependencies>
          <dependency>
            <type>eclipse-plugin</type>
            <artifactId>org.eclipse.ui.monitoring</artifactId>
            <version>0.0.0</version>
          </dependency>
          </dependencies>
      </configuration>
      </plugin>
    </plugins>
  </build>
</project>
