<?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.emfstore</groupId>
    <artifactId>emfstore-parent</artifactId>
    <version>0.9.3-SNAPSHOT</version>
    <relativePath>../../org.eclipse.emf.emfstore.releng/emfstore-parent/</relativePath>
  </parent>

  <groupId>org.eclipse.emf.emfstore</groupId>
  <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
  <version>0.9.3-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho-version}</version>

        <!-- AllTestsWithNormalEditingDomain as default-test -->
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <testSuite>org.eclipse.emf.emfstore.client.test</testSuite>
          <testClass>org.eclipse.emf.emfstore.client.test.AllTests</testClass>
          <useUIHarness>true</useUIHarness>
          <useUIThread>false</useUIThread>
          <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m</argLine>
          <!--<testFailureIgnore>true</testFailureIgnore>-->
          <!-- Plugins to be loaded to the osgi runtime -->
          <dependencies>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.client.backchannel</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.client</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.common</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.modelmutator</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.examplemodel.ecp</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.examplemodel.edit</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.examplemodel.ecp</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.server.backchannel</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.emf.emfstore.server</artifactId>
              <version>0.0.0</version>
            </dependency>
          </dependencies>

          <bundleStartLevel>
            <bundle>
              <id>org.eclipse.emf.emfstore.client.backchannel</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.client.model.edit</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.client.test</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.client</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.common.model.edit</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.common.model</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.common</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.modelmutator</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.examplemodel.ecp</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.examplemodel.edit</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.examplemodel</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.migration</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.server.backchannel</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.server.model.edit</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.server.model</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
            <bundle>
              <id>org.eclipse.emf.emfstore.server</id>
              <level>4</level>
              <autoStart>false</autoStart>
            </bundle>
          </bundleStartLevel>
        </configuration>

        <!-- More suites can be added here -->
        <executions>
          <!-- AllChangeTrackingTestsWithTransactionalEditingDomain -->
          <execution>
            <id>AllChangeTrackingTestsWithTransactionalEditingDomain</id>
            <phase>integration-test</phase>
            <goals>
              <goal>test</goal>
            </goals>
            <configuration>
              <testSuite>org.eclipse.emf.emfstore.client.test</testSuite>
              <testClass>org.eclipse.emf.emfstore.client.test.changeTracking.AllChangeTrackingTests</testClass>
              <useUIHarness>true</useUIHarness>
              <useUIThread>false</useUIThread>
              <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m</argLine>
              <!--<testFailureIgnore>true</testFailureIgnore>-->

              <dependencies>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.client</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.common</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.modelmutator</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.perspective</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
                  <version>0.0.0</version>
                </dependency>
                <dependency>
                  <type>eclipse-plugin</type>
                  <artifactId>org.eclipse.emf.emfstore.server</artifactId>
                  <version>0.0.0</version>
                </dependency>
              </dependencies>
    
              <bundleStartLevel>
                <bundle>
                  <id>org.eclipse.emf.emfstore.client.model.edit</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.client.test</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.client.transaction</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.client</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.common.model.edit</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.common.model</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.common</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.migration</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.modelmutator</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.perspective</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.server.model.edit</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.server.model</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
                <bundle>
                  <id>org.eclipse.emf.emfstore.server</id>
                  <level>4</level>
                  <autoStart>false</autoStart>
                </bundle>
              </bundleStartLevel>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco-version}</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
