<?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>
	<groupId>org.eclipse.emf.ecp</groupId>
	<artifactId>ecp-tests-parent</artifactId>
	<version>1.5.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<parent>
		<groupId>org.eclipse.emf.ecp</groupId>
		<artifactId>ecp-parent</artifactId>
		<version>1.5.0-SNAPSHOT</version>
		<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
	</parent>

	<modules>
		<!-- Bundles/Features -->
		<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model</module>
        <module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model.edit</module>
        <module>../../tests/org.eclipse.emf.ecp.view.dynamictree.ui</module>
        <module>../../tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt</module>
        <module>../../tests/org.eclipse.emf.ecp.view.dynamictree.feature</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.editor.testplugin</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.editor.test.feature</module>
		<module>../../tests/org.eclipse.emf.ecp.test.model</module>
		<module>../../tests/org.eclipse.emf.ecp.test.model.edit</module>
		<module>../../tests/org.eclipse.emf.ecp.test.model.feature</module>

		<!-- Tests -->
		<module>../../tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.edit.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.test.common</module>
		<module>../../tests/org.eclipse.emf.ecp.view.test.common.swt</module>
		<module>../../tests/org.eclipse.emf.ecp.core.test</module>
		<module>../../tests/org.eclipse.emf.ecp.ui.view.editor.controls.test</module>
		<module>../../tests/org.eclipse.emf.ecp.ui.view.test</module>
		<module>../../tests/org.eclipse.emf.ecp.ui.view.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.validation.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.categorization.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.context.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.custom.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.group.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.edit.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.integrationtest</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.provider.xmi.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.rule.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.rule.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.unset.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.table.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.validation.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.validation.bean.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.ui.editor.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.stack.ui.swt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.ecore.editor.test</module>
		<module>../../tests/org.eclipse.emf.ecp.diffmerge.test</module>
		<module>../../tests/org.eclipse.emf.ecp.integrationtest</module>
		<module>../../tests/org.eclipse.emf.ecp.ui.validation.test</module>
		<module>../../tests/org.eclipse.emf.ecp.validation.diagnostician.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.model.test</module>
		<module>../../tests/org.eclipse.emf.ecp.ide.util.test</module>	
		<module>../../tests/org.eclipse.emf.ecp.ide.view.service.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.core.swt.tests</module>	
		<module>../../tests/org.eclipse.emf.ecp.view.viewproxy.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test</module>
		
		<!-- Key Attribute DMR -->
		<module>../../tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test</module>	
		
		<module>../../tests/org.eclipse.emf.ecp.view.indexdmr.model.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.mappingdmr.model.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.table.model.test</module>
		<module>../../tests/org.eclipse.emf.ecp.changebroker.test</module>
		<module>../../tests/org.eclipse.emf.ecp.changebroker.emfstore.test</module>
		
		<!-- Migration -->
		<module>../../tests/org.eclipse.emf.ecp.view.edapt.test</module>
		<module>../../tests/org.eclipse.emf.ecp.view.edapt.util.test</module>
		
	</modules>
	
	<build>
		<sourceDirectory>src</sourceDirectory>
		<outputDirectory>bin</outputDirectory>
		<plugins>
			<!-- to disable use -Dcheckstyle.skip -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.11</version>
				<configuration>
					<configLocation>http://download.eclipse.org/ecp/config/esmCheckstyleTest.xml</configLocation>
					<failsOnError>false</failsOnError>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
						<phase>verify</phase>
					</execution>
				</executions>
			</plugin>
			
			<!-- tycho surefire include/exclude pattern -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<includes>
						<include>**/*_PTest.java</include>
						<include>**/*_ITest.java</include>
					</includes>
					<testFailureIgnore>true</testFailureIgnore>
				</configuration>
			</plugin>
			
			<!-- maven surefire include/exclude pattern -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${mav-surefire-version}</version>
				<executions>
					<execution>
						<id>test</id>
						<phase>test</phase>
						<configuration>
							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
							<includes>
				            	<include>**/*_Test.java</include>
							</includes>
							<testFailureIgnore>true</testFailureIgnore>
				        </configuration>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit-version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<profiles>
		<profile>
			<id>build-server</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-jarsigner-plugin</artifactId>
						<version>${jarsigner-version}</version>
						<executions>
							<execution>
								<id>sign</id>
								<phase>package</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
			
</project>