<?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-parent</artifactId>
	<version>1.26.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<tycho-version>1.4.0</tycho-version>
		<tycho-extras-version>1.4.0</tycho-extras-version>
		<javadoc-version>2.10.3</javadoc-version>
		<ecp-version>1.26.0</ecp-version>
		<javadoc-title>EMF Client Platform ${ecp-version} API</javadoc-title>
		<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/emfclient/org.eclipse.emf.ecp.core.git</tycho.scmUrl>
		<jarsigner-version>1.1.0</jarsigner-version>
		<mav-surefire-version>2.22.2</mav-surefire-version>
		<junit-version>4.12</junit-version>
		<mav-checkstyle-version>3.1.1</mav-checkstyle-version>
		<checkstyle-version>8.8</checkstyle-version>
		<jacoco-version>0.8.5</jacoco-version>
		
		<jacoco.percentage.instruction>0.5</jacoco.percentage.instruction>
		<!-- Properties to enable jacoco code coverage analysis with sonar -->
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
		<sonar.jacoco.reportPath>../../tests/coverage/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.exclusions>**/test/**,**/tests/**, **/*_PTest.java,**/*_Test.java, **/*_ITest.java,**/AllTests.java,**/AllIntegrationTests.java, **/Messages.java,</sonar.exclusions>
		
		<target-rcp>ecp</target-rcp>
		<target-rap>ecpRAP</target-rap>
		<xtend-version>2.22.0</xtend-version>
	</properties>

	<profiles>
		
		<!-- Profile for adding aggregate sites to the built p2 repositry -->
		<profile>
			<id>aggregateSites</id>
			<activation>
				<property>
					<name>aggSite</name>
				</property>
			</activation>
		</profile>
		
		<!-- Profile for use on the eclipse build server. Enables code signing, etc. -->
		<profile>
			<id>build-server</id>
			<activation>
				<property>
					<name>build-server</name>
				</property>
			</activation>
		</profile>
	</profiles>

	<pluginRepositories>
		<pluginRepository>
			<id>eclipse-maven-releases</id>
			<url>https://repo.eclipse.org/content/repositories/releases/</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
			<pluginRepository>
			<id>apache-maven-releases</id>
			<url>http://repo.maven.apache.org/maven2</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

	<modules>
		
		<module>../../releng/org.eclipse.emf.ecp.target.rcp</module>
		<module>../../releng/org.eclipse.emf.ecp.target.rap</module>
		<module>../../releng/org.eclipse.emf.ecp.repository</module>
		<module>../../releng/org.eclipse.emf.ecp.repository.target</module>
		<module>../../releng/org.eclipse.emf.ecp.products</module>
		<module>../../releng/org.eclipse.emf.ecp.rap.products</module>
		
		<module>../../releng/org.eclipse.emf.ecp.releng.bundles</module>
		<module>../../releng/org.eclipse.emf.ecp.releng.i18n</module>
		<module>../../releng/org.eclipse.emf.ecp.releng.features</module>
		<module>../../releng/org.eclipse.emf.ecp.releng.tests</module>
		<module>../../releng/org.eclipse.emf.ecp.releng.examples</module>
		
		<module>../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng</module>
	</modules>

	<build>
		<sourceDirectory>src</sourceDirectory>
		<outputDirectory>bin</outputDirectory>

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

			<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>
					<resolver>p2</resolver>
					<pomDependencies>consider</pomDependencies>
					<allowConflictingDependencies>true</allowConflictingDependencies>
					<includePackedArtifacts>true</includePackedArtifacts>
					<environments>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
						<!--  Beginning with 2018-12 this environment is removed -->
						<!-- 
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86</arch>
						</environment>
					 	-->
						<!--  Beginning with mars this environment is removed -->
						<!--environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86</arch>
						</environment-->
					</environments>
					<target>
						<artifact>
							<groupId>org.eclipse.emf.ecp</groupId>
							<artifactId>${target-rcp}</artifactId>
							<version>${ecp-version}-SNAPSHOT</version>
						</artifact>
						<artifact>
							<groupId>org.eclipse.emf.ecp</groupId>
							<artifactId>${target-rap}</artifactId>
							<version>${ecp-version}-SNAPSHOT</version>
						</artifact>
					</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-packaging-plugin</artifactId>
				<version>${tycho-version}</version>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-buildtimestamp-jgit</artifactId>
						<version>${tycho-extras-version}</version>
					</dependency>
					<dependency>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-sourceref-jgit</artifactId>
						<version>${tycho-extras-version}</version>
					</dependency>
				</dependencies>
				<configuration>
					<!-- <timestampProvider>jgit</timestampProvider> -->
					<!-- generate new qualifier even if it is only the pom.xml that changed 
						<jgit.ignore> pom.xml </jgit.ignore> -->
					<format>yyyyMMdd-HHmm</format>
					<sourceReferences>
						<generate>true</generate>
					</sourceReferences>
				</configuration>
			</plugin>
			<!-- enable javadocgeneration -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc-version}</version>
				<configuration>
					<doctitle>${javadoc-title}</doctitle>
					<show>protected</show>
					<nohelp>true</nohelp>
					<failOnError>false</failOnError>
					<excludePackageNames>*.test:*.tests:org.eclipse.emf.edit.ui.*:org.eclipse.emf.ecp.makeithappen.*:car</excludePackageNames>
				</configuration>
			</plugin>
			<!-- to disable use -Dcheckstyle.skip -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${mav-checkstyle-version}</version>
				<!-- https://maven.apache.org/plugins/maven-checkstyle-plugin/history.html -->
				<configuration>
					<configLocation>../org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml</configLocation>
                    <excludes>**/xtend/**/*</excludes>
					<failsOnError>false</failsOnError>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
						<phase>verify</phase>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>com.puppycrawl.tools</groupId>
						<artifactId>checkstyle</artifactId>
						<version>${checkstyle-version}</version>
					</dependency>
				</dependencies>
			</plugin>

			<!-- enable source bundle generation -->
			<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.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${jacoco-version}</version> 
				<configuration>
					<destFile>${sonar.jacoco.reportPath}</destFile>
					<append>true</append>
				</configuration>
				<executions>
					<execution>
						<phase>process-test-classes</phase>
						<id>jacoco-initialize</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<propertyName>jacocoArgs</propertyName>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Configure build to use the jdk specified in manifest -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-compiler-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<useProjectSettings>true</useProjectSettings>
					<logEnabled>true</logEnabled>
					<logDirectory>${project.build.directory}/logfiles</logDirectory>
					<log>xml</log>
					<!--<useJDK>BREE</useJDK>-->
				</configuration>
			</plugin>
		</plugins>
		
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>2.3.1</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
