<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2020, 2024 Contributors to Eclipse Foundation.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!--

Usage:

Run full TCK (runs both current and old)

mvn clean install



Run full TCK, debugging remote GlassFish (suspends on port 9009)

mvn clean install -Dglassfish.suspend



Run full TCK, with the version of Mojarra supplied by GlassFish
(for the signature check mojara.version has to be set to the exact version GlassFish uses)

mvn clean install -Dmojarra.noupdate



Build old TCK once from the root (NOT from the /old-tck folder)

mvn clean install -pl :old-tck-build  



Run single old TCK test from the root (NOT from the /old-tck folder)

mvn clean install -pl :old-tck-run  -Drun.test="com/sun/ts/tests/jsf/api/jakarta_faces/context/facescontext/URLClient.java#facesCtxISEAfterReleaseTest"



Run full old TCK, debugging client TCK from the root (NOT from the /old-tck folder)

mvn clean install -pl :old-tck-run -Dsuspend-tck



Run full old TCK, debugging remote GlassFish (suspends on port 9009)

mvn clean install -pl :old-tck-run -Dglassfish.suspend

-->

<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>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.9</version>
        <relativePath />
    </parent>

    <groupId>org.eclipse.ee4j.faces.tck</groupId>
    <artifactId>jakarta-faces-tck</artifactId>
    <version>4.1.1</version>
    <packaging>pom</packaging>

    <name>Jakarta Faces ${project.version} TCK</name>

    <modules>
        <module>util</module>
        <module>faces22</module>
        <module>faces23</module>
        <module>faces40</module>
        <module>faces41</module>
        <module>old-tck-selenium</module>
        <module>old-tck</module>
        <module>faces-signaturetest</module>
    </modules>

    <properties>
        <maven.compiler.release>17</maven.compiler.release>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        
        <maven.test.skip>false</maven.test.skip>
        <skipTests>false</skipTests>
        <test.selenium>true</test.selenium>
        
        <faces.version>4.1.0-SNAPSHOT</faces.version>
        
        <!-- 
            Set to the actual Faces API the implementation being tested is using.
            
            This can best be done in a profile specific to the implementation.
            See the standard profiles for examples. 
        -->
        <sigtest.api.groupId></sigtest.api.groupId>
        <sigtest.api.artifactId></sigtest.api.artifactId>
        <sigtest.api.version></sigtest.api.version>

        <!-- Application Server versions (these are downloaded and installed in these versions by Maven for the CI profiles) -->
        <tomcat.version>9.0.12</tomcat.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>1.8.0.Final</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-container-test-api</artifactId>
                <version>1.8.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.omnifaces.arquillian</groupId>
                <artifactId>glassfish-client-ee10</artifactId>
                <version>1.4</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.faces</groupId>
                <artifactId>jakarta.faces-api</artifactId>
                <version>${faces.version}</version>
                <scope>provided</scope>
            </dependency>
            
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>

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

            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-api</artifactId>
                <version>2.2.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-client-api</artifactId>
                <version>2.2.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>4.1.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>2.0.1.MR</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <dependency>
            <groupId>jakarta.faces</groupId>
            <artifactId>jakarta.faces-api</artifactId>
            <scope>provided</scope>
        </dependency>

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

        <dependency>
            <groupId>jakarta.websocket</groupId>
            <artifactId>jakarta.websocket-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.websocket</groupId>
            <artifactId>jakarta.websocket-client-api</artifactId>
            <scope>provided</scope>
        </dependency>

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

        <dependency>
            <groupId>jakarta.enterprise</groupId>
            <artifactId>jakarta.enterprise.cdi-api</artifactId>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>jakarta.inject</groupId>
            <artifactId>jakarta.inject-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>jakarta.ejb</groupId>
            <artifactId>jakarta.ejb-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>


        <!-- Test dependencies which can be used in sub-modules -->
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.3.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>2.3.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.3.2</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-container</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.protocol</groupId>
            <artifactId>arquillian-protocol-servlet</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
            <type>jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>xmlunit</groupId>
            <artifactId>xmlunit</artifactId>
            <version>1.6</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.skyscreamer</groupId>
            <artifactId>jsonassert</artifactId>
            <version>1.5.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
            <version>2.70.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>rhino</groupId>
            <artifactId>js</artifactId>
            <version>1.7R2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20240303</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>jakarta-staging</id>
            <snapshots />
            <url>https://jakarta.oss.sonatype.org/content/repositories/staging</url>
        </repository>
    </repositories>

    <build>
        <finalName>${project.artifactId}</finalName>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
        <pluginManagement>
            <plugins>
                 <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.13.0</version>
                    </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.6.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.2.5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.2.5</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <configuration>
                    <rules>
                        <requireMavenVersion>
                            <version>3.8.6</version>
                        </requireMavenVersion>
                    </rules>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.4.0</version>
                <configuration>
                    <attachClasses>true</attachClasses>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <rerunFailingTestsCount>3</rerunFailingTestsCount>
                    <systemPropertyVariables>
                        <finalName>${project.build.finalName}</finalName>
                        <test.selenium>${test.selenium}</test.selenium>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>3.2.5</version>
                <executions>
                    <execution>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>failsafe-report-only</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>3.2.5</version>
                <configuration>
                    <skipSurefireReport>${skipSurefireReport}</skipSurefireReport>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
        </plugins>
    </reporting>

    <profiles>
    
        <profile>
            <id>build-epl-tck</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <zipname>faces-tck-${project.version}</zipname>
                <licenseFile>${project.basedir}/LICENSE.md</licenseFile>
            </properties>
        </profile>
    
        <profile>
            <id>custom</id>
        </profile>


        <!-- Profiles for the application servers against which the tests are run -->


        <!-- ### GlassFish ### -->


        <profile>
            <id>glassfish-ci-managed</id>

            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>

            <properties>
                <!-- Explicit version of Mojarra to test -->
                <mojarra.version>4.1.0</mojarra.version>
                
                <!-- 
                    By default this profile will copy the Mojarra version to test to GlassFish.
                    Set this to "true"" to skip copying and therefor use GlassFish as is. That is 
                    useful to test GlassFish itself instead of just a specific Mojarra version.   
                -->
                <mojarra.noupdate>false</mojarra.noupdate>

                <!-- 
                    Exact artefact used by GlassFish that holds the API classes.
                    This is used by the signature test in module /faces-signaturetest 
                -->
                <sigtest.api.groupId>org.glassfish</sigtest.api.groupId>
                <sigtest.api.artifactId>jakarta.faces</sigtest.api.artifactId>
                <sigtest.api.version>${mojarra.version}</sigtest.api.version>

                <!-- Verhicle used for testing the Mojarra version -->
                <glassfish.version>8.0.0-M6</glassfish.version>
                <glassfish.root>${maven.multiModuleProjectDirectory}/target</glassfish.root>
                <glassfish.home>${glassfish.root}/glassfish8</glassfish.home>
            </properties>

            <dependencies>
                <!-- The actual Arquillian connector -->
                <dependency>
                    <groupId>org.omnifaces.arquillian</groupId>
                    <artifactId>arquillian-glassfish-server-managed</artifactId>
                    <version>1.4</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>17</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${glassfish.root}</outputDirectory>
                                    <markersDirectory>${glassfish.root}/dependency-maven-plugin-markers</markersDirectory>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.glassfish.main.distributions</groupId>
                                            <artifactId>glassfish</artifactId>
                                            <version>${glassfish.version}</version>
                                            <type>zip</type>
                                            <overWrite>false</overWrite>
                                            <outputDirectory>${glassfish.root}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                            <execution>
                                <id>update-mojarra</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>copy</goal>
                                </goals>
                                <configuration>
                                    <skip>${mojarra.noupdate}</skip>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.glassfish</groupId>
                                            <artifactId>jakarta.faces</artifactId>
                                            <version>${mojarra.version}</version>
                                            <type>jar</type>
                                            <overWrite>true</overWrite>
                                            <outputDirectory>${glassfish.root}/glassfish8/glassfish/modules</outputDirectory>
                                            <destFileName>jakarta.faces.jar</destFileName>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                         <artifactId>maven-failsafe-plugin</artifactId>
                         <configuration>
                             <systemPropertyVariables>
                                 <glassfish.home>${glassfish.root}/glassfish8</glassfish.home>
                                 <glassfish.systemProperties>
                                     user.language=en
                                     user.country=US
                                 </glassfish.systemProperties>
                                 <test.selenium>${test.selenium}</test.selenium>
                             </systemPropertyVariables>
                         </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <!-- ### PIRANHA ### -->

        <profile>
            <id>piranha-embedded-micro</id>

            <dependencies>
                <!-- Jakarta EE based client dependencies to contact a server via WebSocket or REST -->
                <dependency>
                    <groupId>org.omnifaces.arquillian</groupId>
                    <artifactId>glassfish-client-ee10</artifactId>
                    <scope>test</scope>
                </dependency>

                <dependency>
                    <groupId>cloud.piranha.arquillian</groupId>
                    <artifactId>piranha-arquillian-server</artifactId>
                    <version>21.6.0-SNAPSHOT</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <piranha.offline>true</piranha.offline>
                                <piranha.async.timeout>1000</piranha.async.timeout>
                                <trimStackTrace>false</trimStackTrace>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <!-- ### TOMCAT ### -->

        <profile>
            <id>tomcat-remote</id>

            <properties>
                <skipEJB>true</skipEJB>
                <skipCDI>true</skipCDI>
                <skipJSF>true</skipJSF>
                <skipJACC>true</skipJACC>
            </properties>

            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-remote-7</artifactId>
                    <version>1.1.0.Final</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <arquillian.launch>tomcat-remote</arquillian.launch>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <profile>
            <id>tomcat-ci-managed</id>

            <properties>
                <skipEJB>true</skipEJB>
                <skipCDI>true</skipCDI>
                <skipJSF>true</skipJSF>
                <skipJACC>true</skipJACC>
            </properties>

            <repositories>
                <!-- Released versions of Tomcat -->
                <repository>
                    <id>apache.public</id>
                    <url>https://repository.apache.org/content/repositories/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>

                <!-- About to be released version of Tomcat -->
                <repository>
                    <id>apache.staging</id>
                    <url>https://repository.apache.org/content/repositories/staging/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>

            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-7</artifactId>
                    <version>1.1.0.Final</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-tomcat</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.apache.tomcat</groupId>
                                            <artifactId>tomcat</artifactId>
                                            <version>${tomcat.version}</version>
                                            <type>zip</type>
                                            <overWrite>false</overWrite>
                                            <outputDirectory>${project.build.directory}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                            <execution>
                                <id>unpack-tomcat-users</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.javaee8</groupId>
                                            <artifactId>test-utils</artifactId>
                                            <version>${project.version}</version>
                                            <type>jar</type>
                                            <overWrite>true</overWrite>
                                            <outputDirectory>${project.build.directory}/apache-tomcat-${tomcat.version}/conf</outputDirectory>
                                            <includes>tomcat-users.xml</includes>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <arquillian.launch>tomcat-ci-managed</arquillian.launch>
                                <arquillian.tomcat.catalinaHome>${project.build.directory}/apache-tomcat-${tomcat.version}</arquillian.tomcat.catalinaHome>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>wildfly-ci-managed</id>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <version>5.0.0.Alpha1</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.jboss.sasl</groupId>
                            <artifactId>jboss-sasl</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                                <jboss.home>${wildfly.dir}</jboss.home>
                                <jboss.install.dir>${wildfly.dir}</jboss.install.dir>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <!-- ### Payara ### -->

        <profile>
            <id>payara-ci-remote</id>

            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>

            <properties>
                <!-- Arquillian Dependencies -->
                <payara.arquillian.container.version>3.0.alpha8</payara.arquillian.container.version>
            </properties>

            <dependencies>
                <dependency>
                    <groupId>fish.payara.arquillian</groupId>
                    <artifactId>arquillian-payara-server-remote</artifactId>
                    <version>${payara.arquillian.container.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>fish.payara.arquillian</groupId>
                    <artifactId>payara-client-ee9</artifactId>
                    <scope>test</scope>
                    <version>${payara.arquillian.container.version}</version>
                </dependency>
                <!-- 
                Solution for 
                WARNING: A class jakarta.activation.DataSource for a default provider MessageBodyWriter<jakarta.activation.DataSource> was not found. The provider is not available.
                fish.payara.arquillian.shaded.glassfish.jersey.message.internal.MessagingBinders$EnabledProvidersBinder bindToBinder
                -->
                <dependency>
                    <groupId>jakarta.activation</groupId>
                    <artifactId>jakarta.activation-api</artifactId>
                    <version>2.0.1</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>
