<?xml version="1.0" encoding="UTF-8"?>

<!--
   Copyright (C) 2018, protos software gmbh (http://www.protos.de).
   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License 2.0
   which accompanies this distribution, and is available at
   https://www.eclipse.org/legal/epl-2.0/

   SPDX-License-Identifier: EPL-2.0
-->

<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.etrice</groupId>
	<artifactId>org.eclipse.etrice.parent</artifactId>
	<version>2.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
		<xtext.version>2.12.0</xtext.version>
		<tycho.version>1.1.0</tycho.version>
		<cbi.version>1.1.4</cbi.version>

		<eclipse.url>http://download.eclipse.org/releases/oxygen</eclipse.url>
		<xtext.url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/${xtext.version}</xtext.url>
		<license.url>http://download.eclipse.org/cbi/updates/license</license.url>
		<orbit.url>http://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository</orbit.url>
		<cbi.url>https://repo.eclipse.org/content/repositories/cbi-releases</cbi.url>
		<etrice.url>http://download.eclipse.org/etrice/updates/nightly</etrice.url>

		<build.type>N</build.type>
	</properties>

	<repositories>
		<repository>
			<id>eclipse</id>
			<url>${eclipse.url}</url>
			<layout>p2</layout>
		</repository>
		<repository>
			<id>xtext</id>
			<url>${xtext.url}</url>
			<layout>p2</layout>
		</repository>
		<repository>
			<id>license</id>
			<url>${license.url}</url>
			<layout>p2</layout>
		</repository>
		<repository>
			<id>orbit</id>
			<url>${orbit.url}</url>
			<layout>p2</layout>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>cbi</id>
			<url>${cbi.url}</url>
		</pluginRepository>
	</pluginRepositories>

	<profiles>
		<profile>
			<id>sign</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-jarsigner-plugin</artifactId>
						<version>${cbi.version}</version>
						<executions>
							<execution>
								<id>sign</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<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>tycho-packaging-plugin</artifactId>
				<version>${tycho.version}</version>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-buildtimestamp-jgit</artifactId>
						<version>${tycho.version}</version>
					</dependency>
				</dependencies>
				<configuration>
					<format>'${build.type}'yyyyMMddHHmm</format>
					<timestampProvider>jgit</timestampProvider>
					<jgit.dirtyWorkingTree>warning</jgit.dirtyWorkingTree>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-plugin</artifactId>
				<version>${tycho.version}</version>
				<!-- Bug 537127. This line causes tycho to package artifacts from ${etrice.url} to the built jars! 
					 The current built artifacts are just ignored !!!!1
				<configuration> 
					<baselineRepositories> 
						<repository> 
							<url>${etrice.url}</url> 
						</repository> 
					</baselineRepositories>
				 </configuration>
				-->
			</plugin>
			<plugin>
				<groupId>org.eclipse.xtend</groupId>
				<artifactId>xtend-maven-plugin</artifactId>
				<version>${xtext.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
							<goal>xtend-install-debug-info</goal>
						</goals>
						<configuration>
							<xtendAsPrimaryDebugSource>true</xtendAsPrimaryDebugSource>
							<writeTraceFiles>true</writeTraceFiles>
						</configuration>
					</execution>
				</executions>
				<configuration>
					<outputDirectory>xtend-gen</outputDirectory>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<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>
		</plugins>
	</build>
</project>
