<?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 v1.0 -->
<!--# which accompanies this distribution, and is available at -->
<!--# http://www.eclipse.org/legal/epl-v10.html -->
<!--# -->
<!--# Contributors: -->
<!--# Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 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.vaadin.widgetset</groupId>
	<artifactId>org.eclipse.osbp.vaadin.widgetset.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>
		<osbp.skip.javadoc>true</osbp.skip.javadoc>
	</properties>

	<modules>
        <module>org.eclipse.osbp.themes</module>
        <module>org.eclipse.osbp.themes.feature</module>
		<module>org.eclipse.osbp.vaadin.widgetset</module>
		<module>org.eclipse.osbp.vaadin.widgetset.feature</module>
	</modules>

	<profiles>
        <profile>
			<!-- switch off jarsigner if not properly configured in settings.xml --> 
            <id>donotsign</id>
            <activation>
                <property>
                    <name>!maven-jarsigner-plugin.keystore</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jarsigner-plugin</artifactId>
                        <version>1.3.2</version>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
	</profiles>
	<build>
		<pluginManagement>
			<plugins>
		       <plugin>
		         <groupId>nl.geodienstencentrum.maven</groupId>
		         <artifactId>sass-maven-plugin</artifactId>
		         <version>2.13</version>
		       </plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<configuration>
						<skip>true</skip>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<resolver>p2</resolver>
						<pomDependencies>consider</pomDependencies>
						<environments>
							<environment>
								<os>win32</os>
								<ws>win32</ws>
								<arch>x86_64</arch>
							</environment>
							<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>macosx</os>
								<ws>cocoa</ws>
								<arch>x86_64</arch>
							</environment>
						</environments>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
