<?xml version="1.0" encoding="UTF-8"?>
<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.emf.ecoretools</groupId>
    <artifactId>emf.ecoretools-parent</artifactId>
    <version>3.3.2-SNAPSHOT</version>
    <relativePath>../org.eclipse.emf.ecoretools.build</relativePath>
  </parent>
  <groupId>org.eclipse.emf.ecoretools</groupId>
  <artifactId>org.eclipse.emf.ecoretools.design.tests</artifactId>
  <version>3.3.2-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>
  

  <properties>
    <local-p2-site>file:/${basedir}/../org.eclipse.emf.ecoretools.update/target/repository</local-p2-site>
    <ui.test.vmargs.all>-Xmx512m -XX:MaxPermSize=256m</ui.test.vmargs.all>
    <ui.test.vmargs.mac>-XstartOnFirstThread</ui.test.vmargs.mac>
    <ui.test.vmargs>${ui.test.vmargs.all}</ui.test.vmargs>
  </properties>
    
 <repositories>
 <!--
    <repository>
      <id>local-p2</id>
      <layout>p2</layout>
      <url>${local-p2-site}</url>
    </repository>
    -->
  </repositories>
      
  <build>
   <plugins>
 	<plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
	   <testFailureIgnore>true</testFailureIgnore>
           <failIfNoTests>false</failIfNoTests>
           <includes>
            <include>org/eclipse/emf/ecoretools/design/tests/InterpretedExpressionTests.class</include>
            <include>org/eclipse/emf/ecoretools/design/tests/TypeNameTests.class</include>
            <include>org/eclipse/emf/ecoretools/design/tests/VsmValidationTests.class</include>
          </includes>
          <useUIHarness>false</useUIHarness>
          <useUIThread>false</useUIThread>
          <argLine>${ui.test.vmargs}</argLine>
          <application>org.eclipse.ui.ide.workbench</application>
          <dependencies>            
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.ecoretools.design</artifactId>
              <version>0.0.0</version>
            </dependency>
          </dependencies>
        </configuration>
    </plugin>         
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>
