<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.

    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

-->

<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>
    <groupId>org.glassfish.soteria.test</groupId>
    <artifactId>soteria</artifactId>
    <version>6.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    
    <name>Soteria ${project.version} Integration tests and examples</name>
    
    <properties>
        <glassfish.version>5.0</glassfish.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <modules>
        <module>common</module>
        <module>app-mem-basic</module>
        <module>app-custom</module>
        <module>app-custom-session</module>
        <module>app-custom-rememberme</module>
        <module>app-securitycontext-auth</module>
        <module>app-securitycontext-auth-ejb</module>
        <module>app-double-ham</module>
        <module>app-ham-ordering</module>
<!--        <module>app-db</module> -->
        <module>app-custom-identity-store-handler</module>
        <module>app-multiple-store</module>
        <module>app-multiple-store-backup</module>
        <module>app-no-role-mapping</module>
        <module>app-bundled-ham-basic-login-config-form</module>
        <module>app-caller-principal</module> 
        <module>app-no-application-caller-principal</module>
    </modules>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>1.3.0.Final</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
            <groupId>com.unboundid</groupId>
            <artifactId>unboundid-ldapsdk</artifactId>
            <version>4.0.4</version>
        </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>            
        </dependency>      
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>        
        <dependency>
            <groupId>javax.security.enterprise</groupId>
            <artifactId>javax.security.enterprise-api</artifactId>
            <version>1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.soteria</groupId>
            <artifactId>javax.security.enterprise</artifactId>
            <version>1.0</version>
            <scope>provided</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>com.sun.ejte.ccl.reporter</groupId>
            <artifactId>SimpleReporterAdapter</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${APS_HOME}/lib/reporter.jar</systemPath>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
           <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-failsafe-plugin</artifactId>
              <version>2.20</version>
              <executions>
                <execution>
                  <goals>
                    <goal>integration-test</goal>
                    <goal>verify</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <systemPropertyVariables>
                  <finalName>${project.build.finalName}</finalName>
                </systemPropertyVariables>
                <environmentVariables>
                  <GLASSFISH_HOME>${env.S1AS_HOME}/..</GLASSFISH_HOME>
                </environmentVariables>
              </configuration>
            </plugin>       
        </plugins>
    </build>
   </project>
