<?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 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</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>
	<pluginRepositories>
		<pluginRepository>
			<id>rubygems-releases</id>
			<url>http://rubygems-proxy.torquebox.org/releases</url>
		</pluginRepository>
	</pluginRepositories>

	<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> -->
            <plugin>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-maven-plugin</artifactId>
                <version>${vaadin.plugin.version}</version>
                <configuration>
                    <extraJvmArgs>-Xmx1024M -Xss1024k</extraJvmArgs>
                    <!-- <runTarget>mobilemail</runTarget> -->
                    <!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This 
						way compatible with Vaadin eclipse plugin. -->
                    <webappDirectory>${basedir}/VAADIN/widgetsets
                    </webappDirectory>
                    <hostedWebapp>${basedir}/VAADIN/widgetsets
                    </hostedWebapp>
                    <noServer>true</noServer>
                    <gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath>
                    <!-- Remove draftCompile when project is ready -->
                    <draftCompile>true</draftCompile>
                    <strict>true</strict>
                    <compileReport>false</compileReport>
                    <style>PRETTY</style>
                    <runTarget>http://localhost:8080/</runTarget>
                    <!-- Remove these when going to release dependencies -->
                    <force>true</force>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>resources</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
            <!-- directory is cleaned properly -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>VAADIN/gwt-unitCache</directory>
                        </fileset>
                        <fileset>
                            <directory>VAADIN/widgetsets</directory>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <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>
                <plugin>
                    <groupId>nl.geodienstencentrum.maven</groupId>
                    <artifactId>sass-maven-plugin</artifactId>
                    <version>2.16</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
