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

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

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

                <goals>
                    <goal>test</goal>
                </goals>
                <configuration>
                    <testSuite>org.eclipse.emf.emfstore.client.api.test</testSuite>
                    <testClass>org.eclipse.emf.emfstore.client.api.test.AllAPITests</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.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.edit</artifactId>
                            <version>0.0.0</version>
                        </dependency>
                        <dependency>
                            <type>eclipse-plugin</type>
                            <artifactId>org.eclipse.emf.emfstore.examplemodel</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.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</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.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.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>
                    <execution>
                        <id>TransactionalEditingDomainTests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <reportsDirectory>${project.build.directory}/surefire-reports/transactional</reportsDirectory>
                            <testSuite>org.eclipse.emf.emfstore.client.api.test</testSuite>
                            <testClass>org.eclipse.emf.emfstore.client.api.test.AllAPITests</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.test.model</artifactId>
                                    <version>0.0.0</version>
                                </dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.test.model.edit</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.ui.transaction</artifactId>
									<version>0.0.0</version>
								</dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.client.changetracking.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.edit</artifactId>
                                    <version>0.0.0</version>
                                </dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.examplemodel</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.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>p
                                    <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.client.changetracking.test</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.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.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>
                    
                    <execution>
                        <id>InMemoryChangePackageTest</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <reportsDirectory>${project.build.directory}/surefire-reports/inMemoryChangePackage</reportsDirectory>
                            <testSuite>org.eclipse.emf.emfstore.client.api.test</testSuite>
                            <testClass>org.eclipse.emf.emfstore.client.api.test.AllAPITests</testClass>
                            <useUIHarness>true</useUIHarness>
                            <useUIThread>false</useUIThread>
                            <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Demfstore.inMemoryChangePackage=true -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.test.model</artifactId>
                                    <version>0.0.0</version>
                                </dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.test.model.edit</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.ui.transaction</artifactId>
									<version>0.0.0</version>
								</dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.client.changetracking.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.edit</artifactId>
                                    <version>0.0.0</version>
                                </dependency>
                                <dependency>
                                    <type>eclipse-plugin</type>
                                    <artifactId>org.eclipse.emf.emfstore.examplemodel</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.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>p
                                    <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.client.changetracking.test</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.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.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>
        </plugins>
    </build>

</project>
