<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.eclipse.papyrus.tools.rcptt</groupId>
	<artifactId>org.eclipse.papyrus.tools.rcptt.parent</artifactId>
	<packaging>pom</packaging>
	<version>0.2.0-SNAPSHOT</version>
	<properties>
		<!-- plugins versions -->
		<!-- use 'mvn versions:display-plugin-updates' to check for the latest -->
		<tycho-version>0.25.0</tycho-version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<rcptt-version>2.1.0</rcptt-version>
		<rcptt-runner-version>2.1.0</rcptt-runner-version>
	</properties>

	<licenses>
		<license>
			<name>Eclipse Public License</name>
			<url>https://www.eclipse.org/legal/epl-v10.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<modules>
		<module>org.eclipse.papyrus.tools.rcptt</module>
		<module>org.eclipse.papyrus.tools.rcptt.diagram.sequence</module>
		<module>org.eclipse.papyrus.tools.rcptt.diagram.usecase</module>
		<module>org.eclipse.papyrus.tools.rcptt.diagram.clazz</module>
		<module>org.eclipse.papyrus.tools.rcptt.diagram.statemachine</module>
	</modules>
	
    <scm>
        <url>https://git.eclipse.org/r/papyrus/org.eclipse.papyrus.tools</url>
        <connection>scm:git:http://git.eclipse.org/gitroot/papyrus/org.eclipse.papyrus.tools.git</connection>
        <developerConnection>scm:git:ssh://git.eclipse.org/gitroot/papyrus/org.eclipse.papyrus.tools.git</developerConnection>
        <tag>HEAD</tag>
    </scm>

	<!-- It is important to ensure your ID s are repo.eclipse.org as the Hudson 
		instance is configured to use these IDs. -->
	<distributionManagement>
		<repository>
			<id>repo.eclipse.org</id>
			<name>Papyrus Repository - Releases</name>
			<url>https://repo.eclipse.org/content/repositories/papyrus-releases/</url>
		</repository>
		<snapshotRepository>
			<id>repo.eclipse.org</id>
			<name>Papyrus Repository - Snapshots</name>
			<url>https://repo.eclipse.org/content/repositories/papyrus-snapshots/</url>
			<!-- If you want to keep several snapshot versions use -->
			<uniqueVersion>true</uniqueVersion>
		</snapshotRepository>
	</distributionManagement>

	<pluginRepositories>
		<pluginRepository>
			<id>eclipse-rcptt-releases</id>
			<url>https://repo.eclipse.org/content/repositories/rcptt-releases/</url>
		</pluginRepository>
	</pluginRepositories>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-p2-director-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-surefire-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-p2-repository-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-p2-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-repository-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.eclipse.rcptt</groupId>
				<artifactId>rcptt-maven-plugin</artifactId>
				<version>${rcptt-version}</version>
				<extensions>true</extensions>
				<configuration>
					<runner>
						<version>${rcptt-runner-version}</version>
						<vmArgs>
							<vmArg>-Xmx1024m</vmArg>
							<vmArg>-XX:MaxPermSize=512m</vmArg>
						</vmArgs>
					</runner>
					<aut>
						<explicit>../../../../Papyrus-Neon-Rcp/workspace/products/papyrus-linux-64.tar.gz</explicit>
					</aut>
					<testOptions>
						<execTimeout>900</execTimeout>
						<testExecTimeout>1800</testExecTimeout>
					</testOptions>
					
					<skipTags>
							<skipTag>ignore</skipTag> 
					</skipTags>
					
				</configuration>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-scm-plugin</artifactId>
                        <version>1.9.4</version>
                    </dependency>
                </dependencies>
            </plugin>				
		</plugins>			
	</build>
</project>