<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2015, 2018 Raymond Augé 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:
     Raymond Augé - 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>tests-pom</artifactId>
    <groupId>org.eclipse.equinox.bundles</groupId>
    <version>4.10.0-SNAPSHOT</version>
    <relativePath>../../tests-pom/</relativePath>
  </parent>
  <groupId>org.eclipse.equinox</groupId>
  <artifactId>org.eclipse.equinox.http.servlet.tests</artifactId>
  <version>1.5.200-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <configuration>
          <testClass>org.eclipse.equinox.http.servlet.tests.*</testClass>
        </configuration>
      </plugin>

      <plugin>
       <groupId>org.eclipse.tycho</groupId>
       <artifactId>target-platform-configuration</artifactId>
       <configuration>
          <dependency-resolution>
             <extraRequirements>
                <requirement>
                   <type>eclipse-plugin</type>
                   <id>org.apache.felix.scr</id>
                   <versionRange>2.0.14</versionRange>
                </requirement>
                <requirement>
                   <type>eclipse-plugin</type>
                   <id>org.eclipse.equinox.http.jetty</id>
                   <versionRange>3.6.0</versionRange>
                </requirement>
             </extraRequirements>
          </dependency-resolution>
       </configuration>
      </plugin>
    </plugins>
  </build>
</project>
