<?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.21.0-SNAPSHOT</version>
    <relativePath>../../local-build/local-build-parent/</relativePath>
  </parent>
  <groupId>org.eclipse.swt</groupId>
  <artifactId>org.eclipse.swt.tests.gtk</artifactId>
  <version>3.107.200-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>
          <skipTests>true</skipTests> <!-- Skip all tests on build servers, because it contains platform specific code -->
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
