<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.17.2</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>0.0.2</ketchup.version>
		<ketchup.npmpub>https://webuptest.smeup.com/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>
				<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>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>materialdesignicons.min.css</exclude>
								<exclude>customClass.css</exclude>
								<exclude>defaultTheme.css</exclude>
								<exclude>darkTheme.css</exclude>
								<exclude>smeupTheme.css</exclude>
								<exclude>testTheme.css</exclude>
								<exclude>graphiteTheme.css</exclude>
								<exclude>carbonTheme.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.0.3</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>ketchup/box.js</include>
								<include>ketchup/btn.js</include>
								<include>ketchup/dsh.js</include>
								<include>ketchup/exa.js</include>
								<include>ketchup/mat.js</include>
								<include>ketchup/tre.js</include>
							</includes>
							<outputFilename>webapp.js</outputFilename>
							<targetDir>resources/shared/js/webup</targetDir>
							<closureCreateSourceMap>true</closureCreateSourceMap>
							<closureLanguageOut>ECMASCRIPT5</closureLanguageOut>
						</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>1.11.16</version>
		</dependency>
		<dependency>
			<groupId>com.smeup</groupId>
			<artifactId>SVGToPng</artifactId>
			<version>1.3.2</version>
			<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>0.2.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>0.2.0</version>
			<exclusions>
				<exclusion>
					<groupId>com.smeup</groupId>
					<artifactId>FUN2JavaConversion</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.smeup</groupId>
			<artifactId>file-service</artifactId>
			<version>0.2.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>
