<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">	
	<modelVersion>4.0.0</modelVersion>
	
	<parent>
	    <groupId>org.eclipse.papyrus.interoperability</groupId>
	    <artifactId>org.eclipse.papyrus.interoperability.root</artifactId>
	    <version>1.0.0-SNAPSHOT</version>
    </parent>
    
  	<artifactId>org.eclipse.papyrus.interoperability.rpy.root</artifactId>
  	<version>0.7.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<description>The top container of Rpy migration tests plug-ins for the Interoperability.</description>

	<modules>
		<module>features</module>
		<module>plugins</module>
	</modules>
	
	<profiles>
		<profile>
			<id>rpyTargetMain</id>
			
			<properties>
				<target.platform>org.eclipse.papyrus.interoperability.rpy.main.targetplatform.oxygen</target.platform>
				<target.platform.groupid>org.eclipse.papyrus.interoperability</target.platform.groupid>
				<target.version>0.7.0-SNAPSHOT</target.version>
			</properties>
			
			<modules>
				<module>releng</module>
			</modules>
			
		</profile>
		
		<profile>
			<id>rpyTargetTests</id>
			
			<build>
				<pluginManagement>
				<plugins>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco-version}</version>
				</plugin>			
				</plugins>
				</pluginManagement>
				
				<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco.version}</version>
					<executions>
						<execution>
							<id>default-prepare-agent</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
						</execution>
						<execution>
							<id>default-report</id>
							<goals>
								<goal>report</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-surefire-plugin</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<failIfNoTests>false</failIfNoTests>
						<useUIHarness>true</useUIHarness>
						<useUIThread>true</useUIThread>
						<testFailureIgnore>true</testFailureIgnore>
						<!-- ${tycho.testArgLine} is populated by JaCoCo and is required to enable code coverage -->
						<argLine>${tycho.testArgLine} ${test.argLine}</argLine>
						<appArgLine>-testConfig=${testConfig}</appArgLine>
						<product>org.eclipse.sdk.ide</product>
						<skipTests>${skipInnerTests}</skipTests>
					</configuration>
				</plugin>
			</plugins>				
			</build>
			
			<properties>
				<testConfig>CI_TESTS_CONFIG</testConfig>
				<jacoco.version>0.7.4.201502262128</jacoco.version>
				<!-- Separate property for test argLine seems to be required when running Jacoco + Surefire -->
				<test.argLine>-Xms512m -Xmx2048m -XX:SoftRefLRUPolicyMSPerMB=100</test.argLine>
		
				<target.platform>org.eclipse.papyrus.interoperability.rpy.tests.targetplatform.oxygen</target.platform>
				<target.platform.groupid>org.eclipse.papyrus.interoperability.tests</target.platform.groupid>
				<target.version>0.7.0-SNAPSHOT</target.version>
			</properties>
			
			<modules>
				<module>releng</module>
			</modules>
			
		</profile>
		
		<profile>
			<id>tests</id>	
					
			<modules>
				<module>tests</module>
			</modules>	
					
		</profile>
		
	</profiles>
		
</project>