<?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: -->
<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - 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.vaadin.emf</groupId>
		<artifactId>org.eclipse.osbp.vaadin.emf.aggregator</artifactId>
		<version>0.9.0-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>
	<artifactId>org.eclipse.osbp.vaadin.emf.api</artifactId>
	<packaging>eclipse-plugin</packaging>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<vaadin-version>${vaadin.version}</vaadin-version>
		<vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version>
		<jdkVersion>1.8</jdkVersion>
	</properties>

	<dependencies>
    	</dependencies>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
                <!-- <excludes> -->
                <!-- <exclude>**/*.java</exclude> -->
                <!-- </excludes> -->
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>nl.geodienstencentrum.maven</groupId>
                <artifactId>sass-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>process-sources</phase>
                        <!-- <goals> -->
                        <!-- <goal>update-stylesheets</goal> -->
                        <!-- </goals> -->
                    </execution>
                </executions>
                <configuration>
                    <resources>
                        <resource>
                            <source>
                                <directory>${basedir}/scss</directory>
                                <includes>
                                    <include>styles.scss</include>
                                </includes>
                                <excludes>
                                    <!-- <exclude>_addons.scss</exclude> -->
                                    <!-- <exclude>_variables.scss</exclude> -->
                                    <!-- <exclude>osbee.scss</exclude> -->
                                    <!-- <exclude>style_notes.scss</exclude> -->
                                    <!-- <exclude>scss/removed_files/*</exclude> -->
                                    <!-- <exclude>**/osbp_legacy/*</exclude> -->
                                    <!-- <exclude>**/osbp_legacy/icons/*</exclude> -->
                                    <!-- <exclude>**/fontello.scss</exclude> -->
                                </excludes>
                            </source>
                            <relativeOutputDirectory/>
                            <destination>${basedir}/VAADIN/themes/osbee2</destination>
                        </resource>
                    </resources>
                    <sassOptions>
                        <always_update>true</always_update>
                        <style>:compressed</style>
                        <debug_info>true</debug_info>
                    </sassOptions>
                    <!-- <rubyVersion>2.0</rubyVersion> -->
                    <!-- <useCompass>true</useCompass> -->
                </configuration>
            </plugin>
        
            <!-- <plugin> -->
            <!-- <groupId>org.jasig.maven</groupId> -->
            <!-- <artifactId>sass-maven-plugin</artifactId> -->
            <!-- <version>1.1.1</version> -->
            <!-- <executions> -->
            <!-- <execution> -->
            <!-- <id>package</id> -->
            <!-- <phase>generate-sources</phase> -->
            <!-- <goals> -->
            <!-- <goal>update-stylesheets</goal> -->
            <!-- </goals> -->
            <!-- </execution> -->
            <!-- </executions> -->
            <!-- <configuration> -->
            <!-- <resources> -->
            <!-- <resource> -->
            <!-- <source> -->
            <!-- <directory>${basedir}/scss</directory> -->
            <!-- </source> -->
            <!-- <destination>${basedir}/VAADIN/themes/orgOsbeeDefaultTheme</destination> -->
            <!-- </resource> -->
            <!-- </resources> -->
            <!-- <useCompass>true</useCompass> -->
            <!-- </configuration> -->
            <!-- </plugin> -->
            <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
            <!-- directory is cleaned properly -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.19</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        
        
        </plugins>
        <pluginManagement>
            <plugins>
                <!--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>com.vaadin</groupId>
                                        <artifactId>vaadin-maven-plugin</artifactId>
                                        <versionRange>[2.3.0-1,)</versionRange>
                                        <goals>
                                            <goal>resources</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore/>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.vaadin</groupId>
                                        <artifactId>vaadin-maven-plugin</artifactId>
                                        <versionRange>[1.0.2,)</versionRange>
                                        <goals>
                                            <goal>update-widgetset</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore/>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
