<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013 Eclipse Foundation 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:
     Igor Fedorenko - initial implementation
     Mickael Istria (Red Hat Inc.) - 416912: tycho-surefire-plugin configuration
-->
<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>eclipse.jdt.core</groupId>
    <version>4.3.0-SNAPSHOT</version>
    <relativePath>../tests-pom/</relativePath>
  </parent>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.compiler.apt.tests</artifactId>
  <version>1.0.600-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>

  <properties>
  	<testSuite>${project.artifactId}</testSuite>
  	<testClass>org.eclipse.jdt.compiler.apt.tests.AllTests</testClass>
  </properties>


  <build>
    <plugins>
      <plugin>
	    <artifactId>maven-clean-plugin</artifactId>
	    <configuration>
	      <filesets>
	        <fileset>
	          <directory>lib/</directory>
	        </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <dependency-resolution>
            <!--
              these fragments are assumed to be present during compile and runtime.
              cleaner solution would be to add Import-Package
            -->
            <extraRequirements>
              <requirement>
                <type>eclipse-plugin</type>
                <id>org.eclipse.jdt.compiler.apt</id>
                <versionRange>0.0.0</versionRange>
              </requirement>
              <requirement>
                <type>eclipse-plugin</type>
                <id>org.eclipse.jdt.compiler.tool</id>
                <versionRange>0.0.0</versionRange>
              </requirement>
            </extraRequirements>
          </dependency-resolution>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
