<?xml version="1.0" encoding="UTF-8"?>
<!--#======================================================================= -->
<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
<!--# 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          -->
<!--# -->
<!--# Contributors: -->
<!--# Cristiano Gavi??o - initial API and implementation -->
<!--#======================================================================= -->
<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.osbp.releng.maven</groupId>
		<artifactId>org.eclipse.osbp.releng.maven.parent.tycho</artifactId>
		<version>0.9.0-SNAPSHOT</version>
	</parent>

	<groupId>org.eclipse.osbp.ecview</groupId>
	<artifactId>org.eclipse.osbp.ecview.aggregator</artifactId>
	<packaging>pom</packaging>

	<url>${distribution.site.url}</url>
	<distributionManagement>
		<site>
			<id>gh-pages</id>
			<name>OSBP GitHub Pages</name>
			<url>${distribution.site.url}</url>
		</site>
	</distributionManagement>

	<properties>
		<osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
		<osbp.deployment.p2.name>xtext.builder</osbp.deployment.p2.name>
		<osbp.build.p2.project.name>org.eclipse.osbp.xtext.builder.p2</osbp.build.p2.project.name>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<xtext.version>2.6.2</xtext.version>

		<osbp.jacoco.include>org.eclipse.osbp.xtext.builder.*</osbp.jacoco.include>
	</properties>

	<modules>
		<module>org.eclipse.osbp.ecview.dsl</module>
		<module>org.eclipse.osbp.ecview.dsl.ide</module>
		<module>org.eclipse.osbp.ecview.dsl.ui</module>
		<module>org.eclipse.osbp.ecview.dsl.lib</module>
		<module>org.eclipse.osbp.ecview.eclipse.ui.examples</module>
<!-- 		<module>org.eclipse.osbp.ecview.examples.vaadin</module> -->
		<module>org.eclipse.osbp.ecview.jetty.manager</module>
		<module>org.eclipse.osbp.ecview.uisemantics</module>
		<module>org.eclipse.osbp.ecview.uisemantics.ide</module>
		<module>org.eclipse.osbp.ecview.uisemantics.ui</module>
		<module>org.eclipse.osbp.ecview.vaadin.ide.preview</module>
		<module>org.eclipse.osbp.ecview.xtext.builder.participant</module>
		<module>org.eclipse.osbp.ecview.xtext.builder.participant.i18n</module>

		<module>org.eclipse.osbp.ecview.feature.ide</module>
		<module>org.eclipse.osbp.ecview.feature.jetty</module>
		<module>org.eclipse.osbp.ecview.feature.runtime</module>
		<module>org.eclipse.osbp.ecview.feature.runtimeonly</module>
	</modules>

	<profiles>
		<profile>
			<id>prepare-for-next-release</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<defaultGoal>org.eclipse.tycho:tycho-versions-plugin:set-version</defaultGoal>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-versions-plugin</artifactId>
						<version>${tycho-version}</version>
						<executions>
							<execution>
								<id>change-next-release</id>
								<goals>
									<goal>set-version</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<newVersion>${next-release}</newVersion>
							<artifacts>org.eclipse.osbp.ecview.aggregator,
								org.eclipse.osbp.ecview.parent
							</artifacts>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<executions>
						<execution>
							<id>add-source</id>
							<phase>initialize</phase>
							<goals>
								<goal>add-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>src-gen</source>
									<source>xtend-gen</source>
								</sources>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.eclipse.xtend</groupId>
					<artifactId>xtend-maven-plugin</artifactId>
					<version>2.11.0</version>
					<executions>
						<execution>
							<goals>
								<goal>compile</goal>
								<goal>xtend-install-debug-info</goal>
								<goal>testCompile</goal>
								<goal>xtend-test-install-debug-info</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<outputDirectory>xtend-gen</outputDirectory>
					</configuration>
				</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.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-clean-plugin
										</artifactId>
										<versionRange>
											[2.6,)
										</versionRange>
										<goals>
											<goal>clean</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<artifactId>maven-clean-plugin</artifactId>
				<configuration>
					<filesets>
						<fileset>
							<directory>xtend-gen</directory>
							<includes>
								<include>**</include>
							</includes>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.xtend</groupId>
				<artifactId>xtend-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
							<goal>testCompile</goal>
						</goals>
						<configuration>
							<outputDirectory>xtend-gen</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
