<?xml version="1.0" encoding="UTF-8"?>
<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>
	<artifactId>jee-7</artifactId>
	<version>1.0-SNAPSHOT</version>
    <name>jee-7</name>
	<packaging>war</packaging>
	<description>JavaEE 7 Arquillian Archetype Sample</description>

	<parent>
		<groupId>com.baeldung</groupId>
		<artifactId>parent-modules</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>

	<dependencies>
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-api</artifactId>
			<version>${javaee_api.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.jboss.arquillian.junit</groupId>
			<artifactId>arquillian-junit-container</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.arquillian.graphene</groupId>
			<artifactId>graphene-webdriver</artifactId>
			<version>${graphene-webdriver.version}</version>
			<type>pom</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.jayway.awaitility</groupId>
			<artifactId>awaitility</artifactId>
			<version>${awaitility.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.jboss.shrinkwrap.resolver</groupId>
			<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
			<scope>test</scope>
			<type>jar</type>
		</dependency>

		<dependency>
			<groupId>org.jboss.shrinkwrap.resolver</groupId>
			<artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>${httpclient.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>${commons-io.version}</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>${com.sun.faces.jsf.version}</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>${com.sun.faces.jsf.version}</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>${jstl.version}</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${javax.servlet-api.version}</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>${jsp-api.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>${taglibs.standard.version}</version>
		</dependency>

		<dependency>
			<groupId>javax.mvc</groupId>
			<artifactId>javax.mvc-api</artifactId>
			<version>20160715</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.ozark</groupId>
			<artifactId>ozark</artifactId>
			<version>${ozark.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
			<version>${org.springframework.security.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
			<version>${org.springframework.security.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>${org.springframework.security.version}</version>
		</dependency>
		<!-- Batch dependencies -->

		<dependency>
			<groupId>org.jboss.spec.javax.batch</groupId>
			<artifactId>jboss-batch-api_1.0_spec</artifactId>
			<version>1.0.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jberet</groupId>
			<artifactId>jberet-core</artifactId>
			<version>1.0.2.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jberet</groupId>
			<artifactId>jberet-support</artifactId>
			<version>1.0.2.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jboss.spec.javax.transaction</groupId>
			<artifactId>jboss-transaction-api_1.2_spec</artifactId>
			<version>1.0.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jboss.marshalling</groupId>
			<artifactId>jboss-marshalling</artifactId>
			<version>1.4.2.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jboss.weld</groupId>
			<artifactId>weld-core</artifactId>
			<version>2.1.1.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jboss.weld.se</groupId>
			<artifactId>weld-se</artifactId>
			<version>2.1.1.Final</version>
		</dependency>
		<dependency>
			<groupId>org.jberet</groupId>
			<artifactId>jberet-se</artifactId>
			<version>1.0.2.Final</version>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>1.4.178</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-jetty-servlet</artifactId>
			<version>2.22.1</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>${maven-war-plugin.version}</version>
				<configuration>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</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.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-pmd-plugin
										</artifactId>
										<versionRange>
											[3.8,)
										</versionRange>
										<goals>
											<goal>check</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.jboss.arquillian</groupId>
				<artifactId>arquillian-bom</artifactId>
				<version>${arquillian_core.version}</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>
			<dependency>
				<groupId>org.jboss.arquillian.extension</groupId>
				<artifactId>arquillian-drone-bom</artifactId>
				<version>${arquillian-drone-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<profiles>
		<profile>
			<id>wildfly-managed-arquillian</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<serverProfile>standalone-full.xml</serverProfile>
				<serverRoot>${project.build.directory}/wildfly-${version.wildfly}</serverRoot>
			</properties>
			<dependencies>
				<dependency>
					<groupId>io.undertow</groupId>
					<artifactId>undertow-websockets-jsr</artifactId>
					<version>${undertow-websockets-jsr.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-client</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-jaxb-provider</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-json-p-provider</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.wildfly</groupId>
					<artifactId>wildfly-arquillian-container-managed</artifactId>
					<version>${wildfly.version}</version>
					<scope>test</scope>
					<exclusions>
						<exclusion>
							<groupId>sun.jdk</groupId>
							<artifactId>jconsole</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
			</dependencies>

			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<artifactId>maven-dependency-plugin</artifactId>
							<version>${maven-dependency-plugin.version}</version>
							<configuration>
								<skip>${maven.test.skip}</skip>
							</configuration>
							<executions>
								<execution>
									<id>unpack</id>
									<phase>process-test-classes</phase>
									<goals>
										<goal>unpack</goal>
									</goals>
									<configuration>
										<artifactItems>
											<artifactItem>
												<groupId>org.wildfly</groupId>
												<artifactId>wildfly-dist</artifactId>
												<version>${wildfly.version}</version>
												<type>zip</type>
												<overWrite>false</overWrite>
												<outputDirectory>${project.build.directory}</outputDirectory>
												<exclusions>
													<exclusion>
														<groupId>sun.jdk</groupId>
														<artifactId>jconsole</artifactId>
													</exclusion>
												</exclusions>
											</artifactItem>
										</artifactItems>
									</configuration>
								</execution>
							</executions>
						</plugin>
						<plugin>
							<artifactId>maven-surefire-plugin</artifactId>
							<version>${maven-surefire-plugin.version}</version>
							<configuration>
								<environmentVariables>
									<JBOSS_HOME>${project.build.directory}/wildfly-${wildfly.version}</JBOSS_HOME>
								</environmentVariables>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
		<profile>
			<id>wildfly-remote-arquillian</id>
			<dependencies>
				<dependency>
					<groupId>io.undertow</groupId>
					<artifactId>undertow-websockets-jsr</artifactId>
					<version>${undertow-websockets-jsr.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-client</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-jaxb-provider</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.resteasy</groupId>
					<artifactId>resteasy-json-p-provider</artifactId>
					<version>${resteasy.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.wildfly</groupId>
					<artifactId>wildfly-arquillian-container-remote</artifactId>
					<version>${wildfly.version}</version>
					<scope>test</scope>
					<exclusions>
						<exclusion>
							<groupId>sun.jdk</groupId>
							<artifactId>jconsole</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>glassfish-embedded-arquillian</id>
			<dependencies>
				<dependency>
					<groupId>org.glassfish.main.extras</groupId>
					<artifactId>glassfish-embedded-all</artifactId>
					<version>${glassfish-embedded-all.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish</groupId>
					<artifactId>javax.json</artifactId>
					<version>${javax.json.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.tyrus</groupId>
					<artifactId>tyrus-client</artifactId>
					<version>${tyrus.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.tyrus</groupId>
					<artifactId>tyrus-container-grizzly-client</artifactId>
					<version>${tyrus.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.jersey.core</groupId>
					<artifactId>jersey-client</artifactId>
					<version>${jersey.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.arquillian.container</groupId>
					<artifactId>arquillian-glassfish-embedded-3.1</artifactId>
					<version>${arquillian-glassfish.version}</version>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>glassfish-remote-arquillian</id>
			<dependencies>
				<dependency>
					<groupId>org.glassfish</groupId>
					<artifactId>javax.json</artifactId>
					<version>${javax.json.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.tyrus</groupId>
					<artifactId>tyrus-client</artifactId>
					<version>${tyrus.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.tyrus</groupId>
					<artifactId>tyrus-container-grizzly-client</artifactId>
					<version>${tyrus.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.jersey.core</groupId>
					<artifactId>jersey-client</artifactId>
					<version>${jersey.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.jersey.media</groupId>
					<artifactId>jersey-media-json-jackson</artifactId>
					<version>${jersey.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.glassfish.jersey.media</groupId>
					<artifactId>jersey-media-json-processing</artifactId>
					<version>${jersey.version}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.jboss.arquillian.container</groupId>
					<artifactId>arquillian-glassfish-remote-3.1</artifactId>
					<version>${arquillian-glassfish.version}</version>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>webdriver-chrome</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<browser>chrome</browser>
			</properties>
		</profile>
		<profile>
			<id>webdriver-firefox</id>
			<properties>
				<browser>firefox</browser>
			</properties>
		</profile>
	</profiles>

	<repositories>
		<repository>
			<id>bintray-mvc-spec-maven</id>
			<name>bintray</name>
			<url>http://dl.bintray.com/mvc-spec/maven</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<properties>
		<java.min.version>1.8</java.min.version>
		<maven.min.version>3.0.0</maven.min.version>
		<javaee_api.version>7.0</javaee_api.version>
		<arquillian_core.version>1.1.11.Final</arquillian_core.version>
		<wildfly.version>8.2.1.Final</wildfly.version>
		<awaitility.version>1.7.0</awaitility.version>
		<undertow-websockets-jsr.version>1.4.6.Final</undertow-websockets-jsr.version>
		<resteasy.version>3.0.19.Final</resteasy.version>
		<glassfish-embedded-all.version>4.1.1</glassfish-embedded-all.version>
		<javax.json.version>1.0.4</javax.json.version>
		<tyrus.version>1.13</tyrus.version>
		<jersey.version>2.25</jersey.version>
		<arquillian-glassfish.version>1.0.0.Final</arquillian-glassfish.version>
		<maven-war-plugin.version>2.6</maven-war-plugin.version>
		<org.springframework.security.version>4.2.3.RELEASE</org.springframework.security.version>
		<maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
		<taglibs.standard.version>1.1.2</taglibs.standard.version>
		<commons-io.version>2.4</commons-io.version>
		<com.sun.faces.jsf.version>2.2.14</com.sun.faces.jsf.version>
		<httpclient.version>4.5</httpclient.version>
		<arquillian-drone-bom.version>2.0.1.Final</arquillian-drone-bom.version>
		<javax.servlet-api.version>3.1.0</javax.servlet-api.version>
		<graphene-webdriver.version>2.1.0.Final</graphene-webdriver.version>
		<maven-dependency-plugin.version>2.8</maven-dependency-plugin.version>
		<jstl.version>1.2</jstl.version>
		<jsp-api.version>2.2</jsp-api.version>
		<ozark.version>20160715</ozark.version>
	</properties>

</project>