<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2014 Red Hat Inc.
  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:
    Mickael Istria (Red Hat Inc.) - initial 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>sourceediting-parent</artifactId>
    <version>3.6.0-SNAPSHOT</version>
  </parent>

  <artifactId>tests</artifactId>
  <packaging>pom</packaging>

  <modules>
    <module>org.eclipse.jst.jsp.core.tests</module>
    <module>org.eclipse.jst.jsp.tests.encoding</module>
    <module>org.eclipse.jst.jsp.ui.tests</module>
    <module>org.eclipse.wst.css.core.tests</module>
    <module>org.eclipse.wst.css.tests.encoding</module>
    <module>org.eclipse.wst.css.ui.tests</module>
    <module>org.eclipse.wst.dtd.core.tests</module>
    <module>org.eclipse.wst.dtd.ui.tests</module>
    <module>org.eclipse.wst.html.core.tests</module>
    <module>org.eclipse.wst.html.tests.encoding</module>
    <module>org.eclipse.wst.html.ui.tests</module>
    <module>org.eclipse.wst.jsdt.web.core.tests</module>
    <module>org.eclipse.wst.jsdt.web.ui.tests</module>
    <module>org.eclipse.wst.json.core.tests</module>
    <module>org.eclipse.wst.sse.core.tests</module>
    <module>org.eclipse.wst.sse.ui.tests</module>
    <module>org.eclipse.wst.xml.catalog.tests</module>
    <module>org.eclipse.wst.xml.core.tests</module>
    <module>org.eclipse.wst.xml.tests.encoding</module>
    <module>org.eclipse.wst.xml.ui.tests</module>
    <module>org.eclipse.wst.xml.validation.tests</module>
    <module>org.eclipse.wst.xsd.core.tests</module>
    <module>org.eclipse.wst.xsd.ui.tests</module>
    <module>org.eclipse.wst.xsd.validation.tests</module>
  </modules>
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <showEclipseLog>true</showEclipseLog>
          <argLine>-Dorg.osgi.framework.bundle.parent=ext</argLine>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
