<?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.jsdt</groupId>
    <artifactId>jsdt-parent</artifactId>
    <version>3.6.0-SNAPSHOT</version>
  </parent>

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

  <modules>
    <module>org.eclipse.wst.jsdt.core.tests.compiler</module>
    <module>org.eclipse.wst.jsdt.core.tests.model</module>
    <module>org.eclipse.wst.jsdt.debug.core.tests</module>
    <module>org.eclipse.wst.jsdt.debug.rhino.tests</module>
    <module>org.eclipse.wst.jsdt.ui.tests</module>
    <module>org.eclipse.wst.jsdt.chromium.tests</module>
    <module>org.eclipse.wst.jsdt.chromium.debug.core.tests</module>
    <module>org.eclipse.wst.jsdt.js.common.tests</module>
    <module>org.eclipse.wst.jsdt.js.node.common.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>
