<?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>
		<relativePath/>
	</parent>

	<groupId>org.eclipse.osbp.ecview.extension</groupId>
	<artifactId>org.eclipse.osbp.ecview.extension.aggregator</artifactId>
	<version>0.9.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<url>${osbp.site.repository.url}</url>
	<scm>
		<url>${osbp.scm.url}</url>
		<connection>${osbp.scm.connection}</connection>
		<developerConnection>${osbp.scm.connection.dev}</developerConnection>
		<tag>HEAD</tag>
	</scm>
	<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>
	</properties>
	
	<modules>
		<!-- module>org.eclipse.osbp.ecview.extension.widgetset</module -->
		<module>org.eclipse.osbp.ecview.extension.editparts.emf</module>
		<module>org.eclipse.osbp.ecview.extension.presentation.vaadin</module>
		<module>org.eclipse.osbp.ecview.extension.strategy</module>
        <module>org.eclipse.osbp.ecview.extension.services</module>
		
		<module>org.eclipse.osbp.ecview.extension.grid.editparts.emf</module>
		<module>org.eclipse.osbp.ecview.extension.grid.presentation</module>
		<module>org.eclipse.osbp.ecview.extension.grid.presentation.clientside</module>
		<module>org.eclipse.osbp.ecview.extension.grid.sample</module>
<!-- 		<module>org.eclipse.osbp.ecview.extension.grid.tests</module> -->
		
		<module>org.eclipse.osbp.ecview.extension.widgetset</module>
		
		<module>org.eclipse.osbp.ecview.extension.feature</module>
	</modules>

	<build>
		<pluginManagement>
			<plugins>
				<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.osbp.tools.maven</groupId>
					<artifactId>org.eclipse.osbp.tools.maven.entity</artifactId>
					<version>0.9.0-SNAPSHOT</version>
					<executions>
						<execution>
							<goals>
								<goal>compile</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<outputDirectory>src-gen</outputDirectory>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
