<?xml version="1.0" encoding="UTF-8"?>
<!--
	Copyright The WildFly Authors
	SPDX-License-Identifier: Apache-2.0
-->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.wildfly.clustering</groupId>
		<artifactId>wildfly-clustering-spring-web-infinispan</artifactId>
		<version>16.0.0.Final</version>
	</parent>

	<artifactId>wildfly-clustering-spring-web-infinispan-embedded</artifactId>
	<packaging>jar</packaging>

	<name>WildFly Clustering: Spring Web: Embedded Infinispan integration</name>

	<properties>
		<catalina.home>${project.build.directory}/apache-tomcat-${version.org.apache.tomcat}</catalina.home>
	</properties>

	<dependencies>
		<dependency>
			<groupId>jakarta.servlet</groupId>
			<artifactId>jakarta.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>wildfly-clustering-spring-context-infinispan-embedded</artifactId>
		</dependency>
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>wildfly-clustering-spring-web-core</artifactId>
		</dependency>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>wildfly-clustering-spring-context-core</artifactId>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>wildfly-clustering-spring-context-infinispan-embedded</artifactId>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>wildfly-clustering-spring-web-core</artifactId>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.wildfly.clustering</groupId>
			<artifactId>wildfly-clustering-session-spi</artifactId>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.jboss.arquillian.container</groupId>
			<artifactId>arquillian-tomcat-managed-8</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.arquillian.junit5</groupId>
			<artifactId>arquillian-junit5-container</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-suite-api</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.wildfly.clustering</groupId>
			<artifactId>wildfly-clustering-arquillian</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
				<includes>
					<include>applicationContext.xml</include>
				</includes>
			</testResource>
			<testResource>
				<directory>src/test/resources</directory>
				<includes>
					<include>arquillian.xml</include>
				</includes>
				<filtering>true</filtering>
			</testResource>
			<testResource>
				<directory>src/test/resources/tomcat</directory>
				<targetPath>${catalina.home}/conf</targetPath>
				<includes>
					<include>**</include>
				</includes>
				<filtering>true</filtering>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<executions>
					<execution>
						<id>clean-tomcat-webapps</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>clean</goal>
						</goals>
						<configuration>
							<excludeDefaultDirectories>true</excludeDefaultDirectories>
							<filesets>
								<fileset>
									<directory>${catalina.home}/webapps</directory>
									<includes>
										<include>ROOT/**</include>
										<include>docs/**</include>
										<include>examples/**</include>
									</includes>
								</fileset>
							</filesets>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>unpack-tomcat</id>
						<phase>generate-test-resources</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.apache.tomcat</groupId>
									<artifactId>tomcat</artifactId>
									<version>${version.org.apache.tomcat}</version>
									<type>zip</type>
									<overWrite>true</overWrite>
									<outputDirectory>${project.build.directory}</outputDirectory>
									<includes>**</includes>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
					<execution>
						<id>configure-tomcat-runtime</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>copy</goal>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${catalina.home}/lib/</outputDirectory>
							<includeScope>runtime</includeScope>
						</configuration>
					</execution>
					<execution>
						<id>configure-tomcat-test</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${catalina.home}/lib/</outputDirectory>
							<includeScope>test</includeScope>
							<includeGroupIds>org.springframework.security</includeGroupIds>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-tomcat-1</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/tomcat-1</outputDirectory>
							<resources>
								<resource>
									<directory>${catalina.home}</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
					<execution>
						<id>copy-tomcat-2</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/tomcat-2</outputDirectory>
							<resources>
								<resource>
									<directory>${catalina.home}</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
					<execution>
						<id>copy-tomcat-3</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/tomcat-3</outputDirectory>
							<resources>
								<resource>
									<directory>${catalina.home}</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
