<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2013, 2015 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:
     IBM Corporation - initial API and implementation
     Lars Vogel <Lars.Vogel@vogella.com> - Bug 474695
-->
<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>
    <groupId>eclipse.platform.runtime</groupId>
    <artifactId>eclipse.platform.runtime</artifactId>
    <version>4.8.0-SNAPSHOT</version>
  </parent>
  <artifactId>eclipse.platform.runtime.tests</artifactId>
  <version>4.8.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
    <code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings>
  </properties>
  <modules>
    <module>org.eclipse.core.expressions.tests</module>
    <module>org.eclipse.core.tests.harness</module>
    <module>org.eclipse.core.tests.runtime</module>
    <module>org.eclipse.e4.core.tests</module>
    <module>org.eclipse.core.contenttype.tests</module>
   </modules>

</project>
