<?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.widgetset</groupId>
		<artifactId>org.eclipse.osbp.vaadin.widgetset.aggregator</artifactId>
		<version>0.9.0-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>
	<artifactId>org.eclipse.osbp.themes</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>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client-compiler</artifactId>
			<scope>provided</scope>
			<version>${vaadin-version}</version>
		</dependency>
		<dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency> 
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
        	<groupId>org.eclipse.osbp.vaadin.addons</groupId>
        	<artifactId>org.eclipse.osbp.vaadin.addons.absolutelayout</artifactId>
        	<version>0.9.0-SNAPSHOT</version>
        	<type>eclipse-plugin</type>
        </dependency>
        <dependency>
        	<groupId>org.eclipse.osbp.vaaclipse</groupId>
        	<artifactId>org.eclipse.osbp.vaaclipse.widgets</artifactId>
        	<version>0.9.0-SNAPSHOT</version>
        	<type>eclipse-plugin</type>
        </dependency>
        <dependency>
        	<groupId>org.eclipse.osbp.dependencies</groupId>
        	<artifactId>org.eclipse.osbp.dependencies.bundle.vaadin.addon.easyuploads</artifactId>
        	<version>7.4.2-SNAPSHOT</version>
        	<type>eclipse-plugin</type>
        </dependency>
    </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>false</strict>
                    <logLevel>WARN</logLevel>
                    <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><!--$NO-MVN-MAN-VER$-->
                <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>
