<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>com.smeup</groupId>
    <artifactId>webup-project</artifactId>
    <version>1.21.16</version>
  </parent>
  <artifactId>WebUP</artifactId>
  <packaging>war</packaging>
  <properties>
    <build.version>${project.version}</build.version>
    <build.timestamp>${maven.build.timestamp}</build.timestamp>
    <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
    <ketchup.version>v10.1.8</ketchup.version>
    <ketchup.npmpub>https://ketchup.smeup.cloud/npm-pub/ketchup-stencil</ketchup.npmpub>
    <ketchup.webup.jsdir>${basedir}/src/main/webapp/resources/shared/js/stencil</ketchup.webup.jsdir>
  </properties>
  <profiles>
    <profile>
      <id>WebUPIT</id>
      <properties>
        <provider.server>https://providertest.smeup.com</provider.server>
        <kokos.provider.server>https://kokoslab.smeup.com</kokos.provider.server>
        <services.JA_00_05.type>PROVIDER</services.JA_00_05.type>
        <services.JA_00_55.type>PROVIDER</services.JA_00_55.type>
        <services.JA_00_20.type>PROVIDER</services.JA_00_20.type>
        <services.JA_00_32.type>PROVIDER</services.JA_00_32.type>
        <services.JA_00_27.type>PROVIDER</services.JA_00_27.type>
        <services.JA_00_44.type>PROVIDER</services.JA_00_44.type>
        <view.mode>JSF</view.mode>
        <its.included>**/IT*.java,**/*IT.java,**/*ITCase.java</its.included>
        <its.excluded>**/*KupIT.java</its.excluded>
        <its.fork.count>1C</its.fork.count>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.jboss.arquillian.selenium</groupId>
            <artifactId>selenium-bom</artifactId>
            <version>3.13.0</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
          <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>1.4.1.Final</version>
            <scope>import</scope>
            <type>pom</type>
          </dependency>
          <dependency>
            <groupId>org.jboss.arquillian.extension</groupId>
            <artifactId>arquillian-drone-bom</artifactId>
            <version>2.5.1</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.21.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <forkCount>${its.fork.count}</forkCount>
              <argLine>-Xmx1024m</argLine>
              <trimStackTrace>false</trimStackTrace>
              <includes>
                <include>${its.included}</include>
              </includes>
              <excludes>
                <exclude>${its.excluded}</exclude>
              </excludes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
              <execution>
                <id>add-integration-test-source-as-test-sources</id>
                <phase>generate-test-sources</phase>
                <goals>
                  <goal>add-test-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/it/java</source>
                  </sources>
                </configuration>
              </execution>
              <execution>
                <id>add-integration-test-resources</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
									<!-- Configures the resource directory of our integration tests -->
                  <resources>
										<!-- Placeholders that are found from the files located in the 
											configured resource directories are replaced with the property values found 
											from the profile specific configuration file. -->
                    <resource>
                      <filtering>true</filtering>
                      <directory>src/it/resources</directory>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>org.jboss.arquillian.junit</groupId>
          <artifactId>arquillian-junit-container</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.jboss.arquillian.container</groupId>
          <artifactId>arquillian-glassfish-remote-3.1</artifactId>
          <version>1.0.2</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.jboss.arquillian.graphene</groupId>
          <artifactId>graphene-webdriver</artifactId>
          <version>2.3.2</version>
          <type>pom</type>
          <scope>test</scope>
          <exclusions>
            <exclusion>
              <artifactId>commons-logging</artifactId>
              <groupId>commons-logging</groupId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>io.github.sukgu</groupId>
          <artifactId>automation</artifactId>
          <version>0.0.10</version>
          <scope>test</scope>
          <exclusions>
            <exclusion>
              <artifactId>commons-logging</artifactId>
              <groupId>commons-logging</groupId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>WebUPPerfIT</id>
      <properties>
        <its.included>**/*Performance*IT*.java</its.included>
        <its.fork.count>1</its.fork.count>
      </properties>
    </profile>
    <profile>
      <id>WebUPTicketIT</id>
      <properties>
        <its.included>**/*Ticket*IT*.java</its.included>
        <its.fork.count>1</its.fork.count>
      </properties>
    </profile>
    <profile>
      <id>WebUPKupIT</id>
      <properties>
        <its.included>**/*KupIT.java</its.included>
        <its.excluded>none</its.excluded>
        <view.mode>KETCHUP</view.mode>
      </properties>
    </profile>
    <profile>
      <id>WebUPKupPerfIT</id>
      <properties>
        <its.included>**/*PerformanceKupIT.java</its.included>
        <its.excluded>none</its.excluded>
        <view.mode>KETCHUP</view.mode>
      </properties>
    </profile>
    <profile>
      <id>WebUPFEWeb</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.warmuuh</groupId>
            <artifactId>libsass-maven-plugin</artifactId>
            <version>0.2.9-libsass_3.4.7</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>compile</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <inputPath>${basedir}/src/main/webapp/resources/web/scss</inputPath>
              <outputPath>${basedir}/src/main/webapp/resources/web/css</outputPath>
              <generateSourceMap>true</generateSourceMap>
              <sourceMapOutputPath>${basedir}/src/main/webapp/resources/web/css</sourceMapOutputPath>
              <outputStyle>compressed</outputStyle>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>WebUPFEMob</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.warmuuh</groupId>
            <artifactId>libsass-maven-plugin</artifactId>
            <version>0.2.9-libsass_3.4.7</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>compile</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <inputPath>${basedir}/src/main/webapp/resources/mobile/scss</inputPath>
              <outputPath>${basedir}/src/main/webapp/resources/mobile/css</outputPath>
              <generateSourceMap>true</generateSourceMap>
              <sourceMapOutputPath>${basedir}/src/main/webapp/resources/mobile/css</sourceMapOutputPath>
              <outputStyle>compressed</outputStyle>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>KetchupRemote</id>
      <activation>
        <property>
          <name>ketchup.local</name>
          <value>!true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
              <execution>
                <id>ketchup-remote</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="ketchup-remote">
                    <echo message="Ketchup deps from remote"/>
                    <mkdir dir="${ketchup.webup.jsdir}"/>
                    <get
											src="${ketchup.npmpub}/${ketchup.version}/zip/ketchup-components.zip"
											dest="${ketchup.webup.jsdir}" verbose="false"
											usetimestamp="true" />
                    <unzip
											src="${ketchup.webup.jsdir}/ketchup-components.zip"
											dest="${ketchup.webup.jsdir}/" />
                    <delete
											file="${ketchup.webup.jsdir}/ketchup-components.zip" />
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
     <profile>
      <id>KetchupTest</id>
      <properties>
        <ketchup.version>TEST-SNAPSHOT</ketchup.version>
      </properties>
    </profile>
    <profile>
      <id>KetchupLocal</id>
      <activation>
        <property>
          <name>ketchup.local</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
              <execution>
                <id>ketchup-local</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>npm</executable>
                  <arguments>
                    <argument>run</argument>
                    <argument>build</argument>
                  </arguments>
                  <workingDirectory>${ketchup.local.dir}</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>copy-ketchup</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${ketchup.local.dir}/dist/ketchup</directory>
                      <targetPath>${ketchup.webup.jsdir}/ketchup</targetPath>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <build>
    <plugins>
      <plugin>
        <groupId>com.github.warmuuh</groupId>
        <artifactId>libsass-maven-plugin</artifactId>
        <version>0.2.9-libsass_3.4.7</version>
        <executions>
          <execution>
            <id>step-1</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <inputPath>${basedir}/src/main/webapp/resources/web/scss</inputPath>
              <outputPath>${basedir}/src/main/webapp/resources/web/css</outputPath>
              <generateSourceMap>true</generateSourceMap>
              <sourceMapOutputPath>${basedir}/src/main/webapp/resources/web/css</sourceMapOutputPath>
              <outputStyle>compressed</outputStyle>
            </configuration>
          </execution>
          <execution>
            <id>step-2</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <inputPath>${basedir}/src/main/webapp/resources/mobile/scss</inputPath>
              <outputPath>${basedir}/src/main/webapp/resources/mobile/css</outputPath>
              <generateSourceMap>true</generateSourceMap>
              <sourceMapOutputPath>${basedir}/src/main/webapp/resources/mobile/css</sourceMapOutputPath>
              <outputStyle>compressed</outputStyle>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <version>1.6.8</version>
        <configuration>
          <container>
            <containerId>glassfish4x</containerId>
            <type>remote</type>
          </container>
          <!-- deployer configuration -->
          <configuration>
            <type>runtime</type>
            <properties>
              <cargo.hostname>${cargo.hostname}</cargo.hostname>
              <cargo.remote.username>${cargo.remote.username}</cargo.remote.username>
              <cargo.remote.password>${cargo.remote.password}</cargo.remote.password>
              <cargo.glassfish.admin.port>${cargo.remote.port}</cargo.glassfish.admin.port>
            </properties>
          </configuration>
          <deployables>
            <deployable>
              <groupId>${project.groupId}</groupId>
              <artifactId>${project.artifactId}</artifactId>
              <type>war</type>
              <properties>
                <context>${context}</context>
              </properties>
            </deployable>
          </deployables>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.glassfish.main.deployment</groupId>
            <artifactId>deployment-client</artifactId>
            <version>5.0</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>com.google.code.maven-replacer-plugin</groupId>
        <artifactId>replacer</artifactId>
        <version>1.5.3</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>replace</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <basedir>${project.build.directory}</basedir>
          <includes>
            <include>**/*.css</include>
          </includes>
          <replacements>
            <replacement>
              <token>(sourceMappingURL=[\w.]*)</token>
              <value>$1.jsf?ln=web</value>
            </replacement>
          </replacements>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>src/main/webapp/resources/web/css</directory>
              <excludes>
                <exclude>materialdesignicons.css</exclude>              
                <exclude>designSystemToken.css</exclude>
                <exclude>materialdesignicons.min.css</exclude>
                <exclude>customClass.css</exclude>
                <exclude>bubblesTheme.css</exclude>
                <exclude>cobaltTheme.css</exclude>
                <exclude>darkTheme.css</exclude>
                <exclude>darkOctaneTheme.css</exclude>
                <exclude>defaultTheme.css</exclude>
                <exclude>flamingoTheme.css</exclude>
                <exclude>graphiteTheme.css</exclude>
                <exclude>ketchupTheme.css</exclude>
                <exclude>obsidianTheme.css</exclude>
                <exclude>oceanTheme.css</exclude>
                <exclude>octaneTheme.css</exclude>
                <exclude>printTheme.css</exclude>
                <exclude>rajTheme.css</exclude>
                <exclude>redTheme.css</exclude>
                <exclude>sapphireTheme.css</exclude>
                <exclude>smeupTheme.css</exclude>
                <exclude>tealTheme.css</exclude>
                <exclude>wildlifeTheme.css</exclude>
              </excludes>
            </fileset>
            <fileset>
              <directory>src/main/webapp/resources/mobile/css</directory>
              <excludes>
                <exclude>customClass.css</exclude>
              </excludes>
            </fileset>
            <fileset>
              <directory>src/main/webapp/resources/shared/js/webup</directory>
            </fileset>
            <fileset>
              <directory>${ketchup.webup.jsdir}</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.blutorange</groupId>
        <artifactId>closure-compiler-maven-plugin</artifactId>
        <version>2.21.0</version>
        <executions>
          <execution>
            <id>default-minify</id>
            <phase>generate-resources</phase>
            <configuration>
              <baseSourceDir>${basedir}/src/main/webapp/resources/shared</baseSourceDir>
              <baseTargetDir>${basedir}/src/main/webapp</baseTargetDir>
              <includes>                            
                <include>custom-code-mirror.js</include>
                <include>selectcheckboxmenu.js</include>
                <include>dragAndDrop.js</include>
                <include>exuArrowNavigation.js</include>
                <include>inAppCommunicationManager.js</include>
                <include>overlayToolbar.js</include>
                <include>sendReportCommons.js</include>
                <include>camera/smeupCamera.js</include>
                <include>fishbone/smeup.fishbone.js</include>
                <include>smeupCharts.js</include>
                <include>smeupImageEditor.js</include>
                <include>smeupScreenshot.js</include>
                <include>webup.js</include>
                <include>chatbot.js</include>
                <include>ketchup/box.js</include>
                <include>ketchup/btn.js</include>
                <include>ketchup/dsh.js</include>
                <include>ketchup/exa.js</include>
                <include>ketchup/ech.js</include>
                <include>ketchup/mat.js</include>
                <include>ketchup/table.js</include>
                <include>ketchup/tre.js</include>
                <include>ketchup/tip.js</include>
                <include>ketchup/fab.js</include>
                <include>ketchup/button.js</include>
                <include>ketchup/iml.js</include>
                <include>ketchup/textfield.js</include>
                <include>ketchup/ogn.js</include>
                <include>ketchup/pln.js</include>
                <include>ketchup/cal.js</include>
                <include>ketchup/ted.js</include>
                <include>ketchup/for.js</include>
                <include>ketchup/date_picker.js</include>
              </includes>
              <outputFilename>webapp.js</outputFilename>
              <targetDir>resources/shared/js/webup</targetDir>
              <closureCreateSourceMap>true</closureCreateSourceMap>              
            </configuration>
            <goals>
              <goal>minify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
      </resource>
      <resource>
        <directory>src/main/resources-filtered</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.smeup</groupId>
      <artifactId>WebApp</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.smeup</groupId>
      <artifactId>LoocupImg</artifactId>
      <version>2.1.0</version>
    </dependency>  
	<dependency>
		<groupId>xerces</groupId>
		<artifactId>xercesImpl</artifactId>
		<version>2.12.2</version>
		<scope>test</scope>
		<exclusions>
			<exclusion>
				<artifactId>commons-logging</artifactId>
				<groupId>commons-logging</groupId>
			</exclusion>
		</exclusions>
	</dependency>
    <dependency>
      <groupId>com.smeup.themes</groupId>
      <artifactId>webup</artifactId>
      <version>1.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.primefaces.themes</groupId>
      <artifactId>bootstrap</artifactId>
      <version>1.0.10</version>
    </dependency>
    <dependency>
      <groupId>com.auth0</groupId>
      <artifactId>java-jwt</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>org.eu.ingwar.tools</groupId>
      <artifactId>arquillian-suite-extension</artifactId>
      <version>1.2.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>27.0.1-jre</version>
    </dependency>
    <dependency>
      <groupId>org.reflections</groupId>
      <artifactId>reflections</artifactId>
      <version>0.9.10</version>
    </dependency>
    <dependency>
      <groupId>com.google.maps</groupId>
      <artifactId>google-maps-services</artifactId>
      <version>0.1.22</version>
    </dependency>
    <dependency>
      <groupId>com.squareup.okio</groupId>
      <artifactId>okio</artifactId>
      <version>1.14.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpmime</artifactId>
    </dependency>
    <dependency>
      <groupId>org.tiefaces</groupId>
      <artifactId>tiefaces</artifactId>
      <version>1.0.11-smeup-5</version>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>xalan</groupId>
      <artifactId>serializer</artifactId>
      <version>2.7.2</version>
    </dependency>
    <!-- Servizi interni -->
    <dependency>
      <groupId>com.smeup</groupId>
      <artifactId>webup-config-service</artifactId>
      <version>1.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>com.smeup</groupId>
          <artifactId>FUN2JavaConversion</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.smeup</groupId>
      <artifactId>webup-service-seed</artifactId>
      <version>1.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>com.smeup</groupId>
          <artifactId>FUN2JavaConversion</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.smeup</groupId>
      <artifactId>file-service</artifactId>
      <version>1.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>com.smeup</groupId>
          <artifactId>FUN2JavaConversion</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.10.2</version>
    </dependency>
    <dependency>
      <groupId>com.smeup.qylog</groupId>
      <artifactId>qylog-pojo</artifactId>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.29</version>
    </dependency>
    <!-- used rest easy for api tests instead of jersey because of jersey jax.rs.2.0 
			conflicts with arquillian -->
    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-client</artifactId>
      <version>4.3.1.Final</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>commons-io</artifactId>
          <groupId>commons-io</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>1.7.3</version>
    </dependency>
  </dependencies>
</project>
