<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015, Ericsson, Inc. All rights reserved. This program 
	and the accompanying materials are made available under the terms of the 
	Eclipse Public License v1.0 which accompanies this distribution, and is available 
	at http://www.eclipse.org/legal/epl-v10.html -->

<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>

	<prerequisites>
		<maven>3.1</maven>
	</prerequisites>

	<licenses>
		<license>
			<name>Eclipse Public License v1.0</name>
			<comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License v1.0
       which accompanies this distribution, and is available at
       http://www.eclipse.org/legal/epl-v10.htm
      </comments>
		</license>
	</licenses>

	<name>EGerrit Parent</name>
	<groupId>org.eclipse.egerrit</groupId>
	<artifactId>org.eclipse.egerrit.parent</artifactId>
	<version>1.4.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<!-- General -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<tycho.version>1.0.0</tycho.version>
		<antrun.version>1.8</antrun.version>
		<cbi.version>1.1.4</cbi.version>
		
		<!-- Target platform -->
		<egerrit.target.artifact>org.eclipse.egerrit.target</egerrit.target.artifact>
		<egerrit.target.platform>eGerrit-Eclipse_4.7-oxygen</egerrit.target.platform>

		<!-- set gtk3 version -->
		<SWT_GTK3>0</SWT_GTK3>

		<!-- Sonar -->
		<sonar.language>java</sonar.language>
		<sonar.java.source>1.8</sonar.java.source>
		<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.exclusions>**/rcptt/**,**/tests/**,**/test/**,**/Messages*,**/stubs/**,**/model/**,**/EGerritConstants.java,**/core/GerritQuery.java</sonar.exclusions>
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<sonar.squid.analyse.property.accessors>true</sonar.squid.analyse.property.accessors>
		<sonar.junit.reportsPath>target/test-reports,target/surefire-reports</sonar.junit.reportsPath>

		<download-publish-path>/home/data/httpd/download.eclipse.org/egerrit/updates/nightly</download-publish-path>
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/egerrit/org.eclipse.egerrit</tycho.scmUrl>

		<!-- Configuration of the Test gerrit server to use for the tests.-->
		<!-- The default values are specified in the code -->
		<EGerritGerritTestServerHost/>
		<EGerritGerritTestServerPort/>
		<RCPTTWaitTime/>
	</properties>

	<pluginRepositories>

		<pluginRepository>
			<id>eclipse-cbi-releases</id>
			<url>https://repo.eclipse.org/content/groups/cbi/</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>

	</pluginRepositories>

	<build>
		<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>target-platform-configuration</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<target>
						<artifact>
							<groupId>${project.groupId}</groupId>
							<artifactId>${egerrit.target.artifact}</artifactId>
							<classifier>${egerrit.target.platform}</classifier>
							<version>${project.version}</version>
						</artifact>
					</target>
					<environments>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-source-plugin</artifactId>
				<version>${tycho.version}</version>
				<executions>
					<execution>
						<id>plugin-source</id>
						<goals>
							<goal>plugin-source</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.eclipse.tycho.extras</groupId>
				<artifactId>tycho-source-feature-plugin</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<includeBinaryFeature>false</includeBinaryFeature>
				</configuration>
				<executions>
					<execution>
						<id>source-feature</id>
						<phase>package</phase>
						<goals>
							<goal>source-feature</goal>
						</goals>
						<configuration>
							<excludes>
								<plugin id="com.google.gson" />
							</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.4.201502262128</version>
				<executions>
					<execution>
						<id>pre-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<!-- Where to put jacoco coverage report -->
							<destFile>${sonar.jacoco.reportPath}</destFile>
							<includes>
								<include>org.eclipse.egerrit.*</include>
							</includes>
							<append>true</append>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>1.4.1</version>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>3.1</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-packaging-plugin</artifactId>
					<version>${tycho.version}</version>
					<configuration>
						<sourceReferences>
							<generate>true</generate>
						</sourceReferences>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>org.eclipse.tycho.extras</groupId>
							<artifactId>tycho-sourceref-jgit</artifactId>
							<version>${tycho.version}</version>
						</dependency>
					</dependencies>
				</plugin>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.jacoco</groupId>
										<artifactId>
											jacoco-maven-plugin
										</artifactId>
										<versionRange>
											[0.7.2.201409121644,)
										</versionRange>
										<goals>
											<goal>prepare-agent</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
                                <plugin>
                                    <groupId>org.sonarsource.scanner.maven</groupId>
                                    <artifactId>sonar-maven-plugin</artifactId>
                                    <version>3.2</version>
                                 </plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>test-coverage</id>
			<dependencies>
				<dependency>
					<groupId>org.codehaus.sonar-plugins.java</groupId>
					<artifactId>sonar-jacoco-listeners</artifactId>
					<version>2.3</version>
					<scope>test</scope>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho.version}</version>
						<configuration>
							<properties>
								<property>
									<name>listener</name>
									<value>org.sonar.java.jacoco.JUnitListener</value>
								</property>
							</properties>
							<argLine>${tycho.testArgLine}</argLine>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!--  based on the information provided in the following blog post http://www.codetrails.com/blog/sign-your-eclipse-project -->
			<id>sign</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200a-plugin</artifactId>
						<version>${tycho.version}</version>
						<executions>
							<execution>
								<id>pack200-normalize</id>
								<goals>
									<goal>normalize</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-jarsigner-plugin</artifactId>
						<version>${cbi.version}</version>
						<executions>
							<execution>
								<id>sign</id>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200b-plugin</artifactId>
						<version>${tycho.version}</version>
						<executions>
							<execution>
								<id>pack200-pack</id>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-p2-plugin</artifactId>
						<version>${tycho.version}</version>
						<executions>
							<execution>
								<id>attach-p2-metadata</id>
								<phase>package</phase>
								<goals>
									<goal>p2-metadata</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<defaultP2Metadata>false</defaultP2Metadata>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<modules>
		<module>org.eclipse.egerrit.target</module>
		<module>org.eclipse.egerrit.core</module>
		<module>org.eclipse.egerrit.model</module>
		<module>org.eclipse.egerrit.model.edit</module>
		<module>org.eclipse.egerrit.core.tests</module>
		<module>org.eclipse.egerrit.ui</module>
		<module>org.eclipse.egerrit.ui.tests</module>
		<module>org.eclipse.egerrit.dashboard.core</module>
		<module>org.eclipse.egerrit.dashboard.ui</module>

		<module>org.eclipse.egerrit.feature</module>
		<module>org.eclipse.egerrit.updatesite</module>
		<module>org.eclipse.egerrit.updatesite.tests</module>
<!--		<module>org.eclipse.egerrit.ui.rcptt.tests</module> -->
	</modules>

</project>
