<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.16.3</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>
	</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>
				<its.included>**/IT*.java,**/*IT.java,**/*ITCase.java</its.included>
				<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>
						</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>
			</dependencies>
		</profile>

		<profile>
			<id>WebUPPerfIT</id>
			<properties>
				<its.included>**/*PerformanceIT*.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>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>

	</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>
							</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>
					</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>
							</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.11</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>io.swagger</groupId>
			<artifactId>swagger-jersey2-jaxrs</artifactId>
			<version>1.5.13</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>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.1.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.1.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.1.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>
	</dependencies>
</project>
