<!--

    Copyright (c) 2015 Bosch Software Innovations GmbH and others.

    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

-->
<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.hawkbit</groupId>
      <artifactId>hawkbit-parent</artifactId>
      <version>0.2.0-SNAPSHOT</version>
   </parent>
   <artifactId>hawkbit-ui</artifactId>
   <name>hawkBit :: UI</name>
   <description>Bosch IoT Software Provisioning server web application</description>
   <build>
      <plugins>
         <plugin>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-maven-plugin</artifactId>
            <version>${vaadin.plugin.version}</version>
            <configuration>
               <extraJvmArgs>-Xmx1g -Xss1024k</extraJvmArgs>
               <!-- We are doing "inplace" gwt compilation but into subdir VAADIN/widgetsets -->
               <webappDirectory>src/main/resources/VAADIN/widgetsets</webappDirectory>
               <hostedWebapp>src/main/resources/VAADIN/widgetsets</hostedWebapp>
               <warSourceDirectory>src/main/resources</warSourceDirectory>
               <noServer>true</noServer>
               <!-- Remove draftCompile when project is ready -->
               <draftCompile>false</draftCompile>
               <persistentunitcachedir>${project.build.directory}/gwtdirt</persistentunitcachedir>
               <compileReport>true</compileReport>
               <style>OBF</style>
               <strict>true</strict>
               <!-- Symbol maps etc, not needed in vaadin app, just target them outside war -->
               <deploy>${project.build.directory}/gwt-deploy</deploy>
            </configuration>
            <executions>
               <execution>
               <phase>process-classes</phase>
                  <configuration>
                     <!-- if you don't specify any modules, the plugin will find them -->
                     <!-- <modules> <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module> </modules> -->
                  </configuration>
                  <goals>
                     <goal>resources</goal>
                     <goal>update-theme</goal>
                     <goal>update-widgetset</goal>
                     <goal>compile-theme</goal>
                     <goal>compile</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
               <execution>
                  <phase>process-classes</phase>
                  <configuration>
                     <target>
                        <copy todir="${project.build.directory}/classes/VAADIN/widgetsets">
                           <fileset dir="${basedir}/src/main/resources/VAADIN/widgetsets" includes="**/*" />
                        </copy>
                     </target>
                  </configuration>
                  <goals>
                     <goal>run</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
               <archive>
                  <index>true</index>
                  <manifest>
                     <addClasspath>true</addClasspath>
                     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                  </manifest>
                  <manifestEntries>
                     <Implementation-Title>CustomRenderers</Implementation-Title>
                     <Vaadin-Package-Version>1</Vaadin-Package-Version>
                     <Vaadin-Widgetsets>org.eclipse.hawkbit.ui.customrenderers.CustomRendererWidgetSet</Vaadin-Widgetsets>
                  </manifestEntries>
               </archive>
            </configuration>
         </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>
                                 org.codehaus.mojo
                              </groupId>
                              <artifactId>
                                 properties-maven-plugin
                              </artifactId>
                              <versionRange>
                                 [1.0-alpha-2,)
                              </versionRange>
                              <goals>
                                 <goal>
                                    write-project-properties
                                 </goal>
                              </goals>
                           </pluginExecutionFilter>
                           <action>
                              <ignore />
                           </action>
                        </pluginExecution>
                        <pluginExecution>
                           <pluginExecutionFilter>
                              <groupId>com.vaadin</groupId>
                              <artifactId>vaadin-maven-plugin</artifactId>
                              <versionRange>[7.6.3,)</versionRange>
                              <goals>
                                 <goal>compile-theme</goal>
                              </goals>
                           </pluginExecutionFilter>
                           <action>
                              <ignore />
                           </action>
                        </pluginExecution>
                        <pluginExecution>
                           <pluginExecutionFilter>
                              <groupId>org.apache.maven.plugins</groupId>
                              <artifactId>maven-antrun-plugin</artifactId>
                              <versionRange>[1.7,)</versionRange>
                              <goals>
                                 <goal>run</goal>
                              </goals>
                           </pluginExecutionFilter>
                           <action>
                              <ignore />
                           </action>
                        </pluginExecution>
                     </pluginExecutions>
                  </lifecycleMappingMetadata>
               </configuration>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>

   <dependencies>
      <!-- Log4j API and Core implementation required for binding -->
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-api</artifactId>
      </dependency>
      <dependency>
         <groupId>org.eclipse.hawkbit</groupId>
         <artifactId>hawkbit-repository-api</artifactId>
         <version>${project.version}</version>
      </dependency>
      <!-- Vaadin -->
      <dependency>
         <groupId>com.vaadin</groupId>
         <artifactId>vaadin-spring-boot</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.spring.addons</groupId>
         <artifactId>vaadin-spring-addon-eventbus</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.spring.extensions</groupId>
         <artifactId>vaadin-spring-ext-security</artifactId>
      </dependency>
      <dependency>
         <groupId>com.vaadin</groupId>
         <artifactId>vaadin-server</artifactId>
      </dependency>
      <dependency>
         <groupId>com.vaadin</groupId>
         <artifactId>vaadin-client</artifactId>
      </dependency>
      <dependency>
         <groupId>com.vaadin</groupId>
         <artifactId>vaadin-push</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.security</groupId>
         <artifactId>spring-security-web</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-collections4</artifactId>
      </dependency>

      <dependency>
         <groupId>com.vaadin</groupId>
         <artifactId>vaadin-themes</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.addons.lazyquerycontainer</groupId>
         <artifactId>vaadin-lazyquerycontainer</artifactId>
         <exclusions>
            <exclusion>
               <groupId>org.eclipse.persistence</groupId>
               <artifactId>javax.persistence</artifactId>
            </exclusion>
            <exclusion>
               <groupId>com.vaadin</groupId>
               <artifactId>vaadin-client-compiled</artifactId>
            </exclusion>
            <exclusion>
               <groupId>com.vaadin</groupId>
               <artifactId>vaadin-themes</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.vaadin.addons</groupId>
         <artifactId>flexibleoptiongroup</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.addons</groupId>
         <artifactId>tokenfield</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.alump.distributionbar</groupId>
         <artifactId>dbar-addon</artifactId>
      </dependency>
      <dependency>
         <groupId>org.vaadin.addons</groupId>
         <artifactId>contextmenu</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-configuration-processor</artifactId>
         <optional>true</optional>
      </dependency>

      <!-- Test -->
      <dependency>
         <groupId>org.eclipse.hawkbit</groupId>
         <artifactId>hawkbit-repository-jpa</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.easytesting</groupId>
         <artifactId>fest-assert-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.easytesting</groupId>
         <artifactId>fest-assert</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>de.flapdoodle.embed</groupId>
         <artifactId>de.flapdoodle.embed.mongo</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>ru.yandex.qatools.allure</groupId>
         <artifactId>allure-junit-adaptor</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>
</project>