<?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:
    Thanh Ha (Eclipse Foundation) - 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</groupId>
    <artifactId>wtp-parent</artifactId>
    <version>3.6.0-SNAPSHOT</version>
    <relativePath>../wtp-parent</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.servertools</groupId>
  <artifactId>org.eclipse.webtools.servertools.tests</artifactId>
  <version>3.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>tests/org.eclipse.jst.server.core.tests</module>
    <module>tests/org.eclipse.jst.server.generic.tests</module>
    <module>tests/org.eclipse.jst.server.tomcat.core.tests</module>
    <module>tests/org.eclipse.jst.server.tomcat.tests.performance</module>
    <module>tests/org.eclipse.jst.server.tomcat.ui.tests</module>
    <module>tests/org.eclipse.jst.server.ui.tests</module>
    <module>tests/org.eclipse.wst.internet.monitor.core.tests</module>
    <module>tests/org.eclipse.wst.internet.monitor.ui.tests</module>
    <module>tests/org.eclipse.wst.server.core.tests</module>
    <module>tests/org.eclipse.wst.server.http.core.tests</module>
    <module>tests/org.eclipse.wst.server.tests.performance</module>
    <module>tests/org.eclipse.wst.server.ui.tests</module>
    <module>tests/org.eclipse.wst.server.util.tests</module>
  </modules>
</project>
