<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2010, 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:
    David Carver - Initial implementation
    Thanh Ha (Eclipse Foundation) - CBI Webtools implementation
-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.webtools.sourceediting</groupId>
    <artifactId>org.eclipse.webtools.sourceediting.xsl.tests</artifactId>
    <version>3.5.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.sourceediting</groupId>
  <artifactId>org.eclipse.wst.xsl.core.tests</artifactId>
  <version>1.0.400-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>
  <name>XSLT Core Tests</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho.version}</version>
        <!-- <configuration> -->
        <!-- <testSuite>org.eclipse.wst.xml.xpath2.processor.tests</testSuite> -->
        <!-- <testClass>org.eclipse.wst.xml.xpath2.processor.test.AllPsychoPathTests</testClass> -->
        <!-- </configuration> -->
      </plugin>
    </plugins>
  </build>
</project>
