<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2017 Conrad Groth and others.
  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:
     Conrad Groth - 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>
    <artifactId>eclipse.platform.swt.localbuild</artifactId>
    <groupId>eclipse.platform.swt</groupId>
    <version>4.8.0-SNAPSHOT</version>
    <relativePath>../../local-build/local-build-parent/</relativePath>
  </parent>
  <groupId>org.eclipse.swt</groupId>
  <artifactId>org.eclipse.swt.tests.cocoa</artifactId>
  <version>3.106.0-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>
  <properties>
    <code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings>
    <tycho.testArgLine></tycho.testArgLine>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <!-- Make all platform-specific fragments available (and optional) via a feature -->
	      <dependency-resolution>
	         <extraRequirements>
	            <requirement>
	               <type>eclipse-feature</type>
	               <id>org.eclipse.swt.tests.fragments.feature</id>
	               <versionRange>0.0.0</versionRange>
	            </requirement>
	         </extraRequirements>
	      </dependency-resolution>
	      <!-- but only resolve against current environment as we don't want all fragments simultaneously in test -->
	      <environments combine.self="override"/> <!--  we only want platform specific artifacts here -->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <configuration>
          <!-- When adding a test suite in the future, make sure to specify os-jvm-flags in argLine. See swt.tests pom.xml -->
          <skipTests>true</skipTests> <!-- Skip all tests on build servers, because it contains platform specific code -->
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
