pom.xml

918 lines | 42.584 kB Blame History Raw Download
<?xml version="1.0"?>
<!--
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.keycloak.testsuite</groupId>
        <artifactId>integration-arquillian</artifactId>
        <version>1.9.5.Final</version>
    </parent>

    <packaging>pom</packaging>

    <artifactId>integration-arquillian-tests</artifactId>

    <name>Tests</name>

    <modules>
        <module>base</module>
        <module>other</module>
    </modules>
    
    <properties>
        <auth.server>undertow</auth.server>
        <auth.server.undertow>true</auth.server.undertow>

        <auth.server.container>auth-server-${auth.server}</auth.server.container>
        <auth.server.home>${containers.home}/${auth.server.container}</auth.server.home>
        <auth.server.config.dir>${auth.server.home}</auth.server.config.dir>

        <auth.server.host>localhost</auth.server.host>
        <auth.server.port.offset>100</auth.server.port.offset>
        <auth.server.http.port>8180</auth.server.http.port>
        <auth.server.events.http.port>8089</auth.server.events.http.port>
        <auth.server.https.port>8543</auth.server.https.port>
        <auth.server.management.port>10090</auth.server.management.port>
        <auth.server.management.port.jmx>10099</auth.server.management.port.jmx>
        <auth.server.ssl.required>false</auth.server.ssl.required>
        <auth.server.jboss.startup.timeout>60</auth.server.jboss.startup.timeout>
        <auth.server.memory.settings>-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m</auth.server.memory.settings>
        <auth.server.config.property.name>serverConfig</auth.server.config.property.name>
        <auth.server.adapter.impl.class>org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</auth.server.adapter.impl.class>
        
        <auth.server.jboss.artifactId>integration-arquillian-servers-auth-server-${auth.server}</auth.server.jboss.artifactId>
        <auth.server.jboss.skip.unpack>${auth.server.undertow}</auth.server.jboss.skip.unpack>
        <auth.server.jboss.startup.timeout>300</auth.server.jboss.startup.timeout>

        <auth.server.remote>false</auth.server.remote>
    
        <adapter.test.props/>
        <examples.home>${project.build.directory}/examples</examples.home>

        <browser>phantomjs</browser>
        <firefox_binary>/usr/bin/firefox</firefox_binary>

        <frontend.console.output>true</frontend.console.output>
        <backends.console.output>true</backends.console.output>

        <testsuite.constants>test-constants.properties</testsuite.constants>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>unpack-auth-server-jboss</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                            <configuration>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>org.keycloak.testsuite</groupId>
                                        <artifactId>${auth.server.jboss.artifactId}</artifactId>
                                        <version>${project.version}</version>
                                        <type>zip</type>
                                    </artifactItem>
                                </artifactItems>
                                <outputDirectory>${containers.home}</outputDirectory>
                                <overWriteIfNewer>true</overWriteIfNewer>
                                <skip>${auth.server.jboss.skip.unpack}</skip>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-admin-user-json-file</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${auth.server.config.dir}</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>src/test/resources</directory>
                                        <includes>
                                            <include>keycloak-add-user.json</include>
                                        </includes>
                                        <filtering>true</filtering>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <systemPropertyVariables>
                            <project.build.directory>${project.build.directory}</project.build.directory>
                            <arquillian.xml>${project.build.directory}/dependency/arquillian.xml</arquillian.xml>

                            <auth.server>${auth.server}</auth.server>
                            <auth.server.container>${auth.server.container}</auth.server.container>

                            <auth.server.undertow>${auth.server.undertow}</auth.server.undertow>
                            <auth.server.jboss>${auth.server.jboss}</auth.server.jboss>
                            <auth.server.memory.settings>${auth.server.memory.settings}</auth.server.memory.settings>

                            <auth.server.home>${auth.server.home}</auth.server.home>
                            <auth.server.java.home>${auth.server.java.home}</auth.server.java.home>

                            <auth.server.host>${auth.server.host}</auth.server.host>
                            <auth.server.port.offset>${auth.server.port.offset}</auth.server.port.offset>
                            <auth.server.http.port>${auth.server.http.port}</auth.server.http.port>
                            <auth.server.events.http.port>${auth.server.events.http.port}</auth.server.events.http.port>
                            <auth.server.https.port>${auth.server.https.port}</auth.server.https.port>
                            <auth.server.management.port>${auth.server.management.port}</auth.server.management.port>
                            <auth.server.management.port.jmx>${auth.server.management.port.jmx}</auth.server.management.port.jmx>
                            <auth.server.ssl.required>${auth.server.ssl.required}</auth.server.ssl.required>
                            <auth.server.jboss.startup.timeout>${auth.server.jboss.startup.timeout}</auth.server.jboss.startup.timeout>
                            <auth.server.config.dir>${auth.server.config.dir}</auth.server.config.dir>
                            <auth.server.config.property.name>${auth.server.config.property.name}</auth.server.config.property.name>
                            <auth.server.config.property.value>${auth.server.config.property.value}</auth.server.config.property.value>
                            <auth.server.adapter.impl.class>${auth.server.adapter.impl.class}</auth.server.adapter.impl.class>
                            
                            <frontend.console.output>${frontend.console.output}</frontend.console.output>
                            <backends.console.output>${backend.console.output}</backends.console.output>

                            <auth.server.remote>${auth.server.remote}</auth.server.remote>

                            <adapter.test.props>${adapter.test.props}</adapter.test.props>

                            <testsuite.constants>${testsuite.constants}</testsuite.constants>

                            <browser>${browser}</browser>
                            <firefox_binary>${firefox_binary}</firefox_binary>

                        </systemPropertyVariables>
                        <properties>
                            <property>
                                <name>listener</name>
                                <value>org.keycloak.testsuite.util.TestEventsLogger</value>
                            </property>
                        </properties>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>

        <profile>
            <id>auth-server-remote</id>
            <properties>
                <auth.server>remote</auth.server>
                <auth.server.remote>true</auth.server.remote>
                <auth.server.undertow>false</auth.server.undertow>
                <auth.server.jboss.skip.unpack>true</auth.server.jboss.skip.unpack>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                </dependency>
            </dependencies>
        </profile>
            
        <profile>
            <id>auth-server-wildfly</id>
            <properties>
                <auth.server>wildfly</auth.server>
                <auth.server.jboss>true</auth.server.jboss>
                <auth.server.undertow>false</auth.server.undertow>
                <auth.server.config.property.value>standalone.xml</auth.server.config.property.value>
                <auth.server.config.dir>${auth.server.home}/standalone/configuration</auth.server.config.dir>
                <h2.version>1.3.173</h2.version>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>auth-server-eap</id>
            <properties>
                <auth.server>eap</auth.server>
                <auth.server.jboss>true</auth.server.jboss>
                <auth.server.undertow>false</auth.server.undertow>
                <auth.server.config.property.value>standalone.xml</auth.server.config.property.value>
                <auth.server.config.dir>${auth.server.home}/standalone/configuration</auth.server.config.dir>
                <h2.version>1.3.173</h2.version>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>auth-server-cluster</id>
            <properties>
                <!--disable exclusion pattern for cluster test which is enabled by default in base/pom.xml-->
                <exclude.cluster>-</exclude.cluster>

                <auth.server.balancer.home>${containers.home}/auth-server-balancer-wildfly</auth.server.balancer.home>
                <auth.server.backend1.home>${containers.home}/auth-server-${auth.server}-backend1</auth.server.backend1.home>
                <auth.server.backend2.home>${containers.home}/auth-server-${auth.server}-backend2</auth.server.backend2.home>

                <auth.server.config.dir>${auth.server.backend1.home}/standalone/configuration</auth.server.config.dir>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <!--requireActiveProfile 'auth-server-wildfly/eap' doesn't work unless the profiles are defined in all submodule poms
                                        using requireProperty instead-->
                                        <requireProperty>
                                            <property>auth.server</property>
                                            <regex>(wildfly)|(eap)</regex>
                                            <regexMessage>Profile "auth-server-cluster" requires activation of profile "auth-server-wildfly" or "auth-server-eap".</regexMessage>
                                        </requireProperty>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                    </plugin>
                </plugins>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>unpack-auth-server-load-balancer</id>
                                    <phase>generate-resources</phase>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                    <configuration>
                                        <artifactItems>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>integration-arquillian-server-wildfly-balancer</artifactId>
                                                <version>${project.version}</version>
                                                <type>zip</type>
                                                <outputDirectory>${auth.server.balancer.home}</outputDirectory>
                                            </artifactItem>
                                        </artifactItems>
                                        <overWriteIfNewer>true</overWriteIfNewer>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>copy-auth-server-backend-nodes</id>
                                    <phase>process-resources</phase>
                                    <goals>
                                        <goal>run</goal>
                                    </goals>
                                    <configuration>
                                        <target>
                                            <move todir="${auth.server.balancer.home}">
                                                <fileset dir="${auth.server.balancer.home}/balancer-wildfly"/>
                                            </move>
                                            <move todir="${auth.server.backend1.home}">
                                                <fileset dir="${auth.server.home}"/>
                                            </move>
                                            <copy todir="${auth.server.backend2.home}">
                                                <fileset dir="${auth.server.backend1.home}"/>
                                            </copy>
                                        </target>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <run.h2>true</run.h2>

                                    <auth.server.jboss>false</auth.server.jboss>
                                    <auth.server.cluster>true</auth.server.cluster>

                                    <auth.server.balancer.home>${auth.server.balancer.home}</auth.server.balancer.home>
                                    <auth.server.backend1.home>${auth.server.backend1.home}</auth.server.backend1.home>
                                    <auth.server.backend2.home>${auth.server.backend2.home}</auth.server.backend2.home>

                                    <!--100-->
                                    <auth.server.backend1.port.offset>101</auth.server.backend1.port.offset>
                                    <auth.server.backend2.port.offset>102</auth.server.backend2.port.offset>
                                    <!--8180-->
                                    <auth.server.backend1.http.port>8181</auth.server.backend1.http.port>
                                    <auth.server.backend2.http.port>8182</auth.server.backend2.http.port>
                                    <!--8543-->
                                    <auth.server.backend1.https.port>8544</auth.server.backend1.https.port>
                                    <auth.server.backend2.https.port>8545</auth.server.backend2.https.port>
                                    <!--10090-->
                                    <auth.server.backend1.management.port>10091</auth.server.backend1.management.port>
                                    <auth.server.backend2.management.port>10092</auth.server.backend2.management.port>
                                    <!--10099-->
                                    <auth.server.backend1.management.port.jmx>10100</auth.server.backend1.management.port.jmx>
                                    <auth.server.backend2.management.port.jmx>10101</auth.server.backend2.management.port.jmx>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>


        <profile>
            <id>clean-jpa</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.liquibase</groupId>
                            <artifactId>liquibase-maven-plugin</artifactId>
                            <configuration>
                                <changeLogFile>META-INF/jpa-changelog-master.xml</changeLogFile>

                                <url>${keycloak.connectionsJpa.url}</url>
                                <driver>${keycloak.connectionsJpa.driver}</driver>
                                <username>${keycloak.connectionsJpa.user}</username>
                                <password>${keycloak.connectionsJpa.password}</password>

                                <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
                                <databaseClass>${keycloak.connectionsJpa.liquibaseDatabaseClass}</databaseClass>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>clean-jpa</id>
                                    <phase>clean</phase>
                                    <goals>
                                        <goal>dropAll</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <!-- Profiles for migration tests-->
        
        <profile>
            <id>migration</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                </property>
            </activation>
            <properties>
                <!--diable exclusion pattern for migration tests, which is enabled by default in the base/pom.xml-->
                <exclude.migration>-</exclude.migration>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enforce-properties</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>migrated.auth.server.version</property>
                                        </requireProperty>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-migrated-auth-server-jboss</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.keycloak.testsuite</groupId>
                                            <artifactId>${migrated.auth.server.jboss.artifactId}</artifactId>
                                            <version>${project.version}</version>
                                            <type>zip</type>
                                        </artifactItem>
                                    </artifactItems>
                                    <outputDirectory>${containers.home}</outputDirectory>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>        
        
        <profile>
            <id>migration-kc16</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                    <value>1.6.1.Final</value>
                </property>
            </activation>
            <properties>
                <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc16</migrated.auth.server.jboss.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <auth.server.jboss.kc16>true</auth.server.jboss.kc16>
                                    <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
                                    <keycloak.migration.file>src/test/resources/migration-test/migration-realm-16.json</keycloak.migration.file>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc15</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                    <value>1.5.1.Final</value>
                </property>
            </activation>
            <properties>
                <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc15</migrated.auth.server.jboss.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <auth.server.jboss.kc15>true</auth.server.jboss.kc15>
                                    <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
                                    <keycloak.migration.file>src/test/resources/migration-test/migration-realm-15.json</keycloak.migration.file>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc14</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                    <value>1.4.0.Final</value>
                </property>
            </activation>
            <properties>
                <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc14</migrated.auth.server.jboss.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <auth.server.jboss.kc14>true</auth.server.jboss.kc14>
                                    <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc13</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                    <value>1.3.1.Final</value>
                </property>
            </activation>
            <properties>
                <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc13</migrated.auth.server.jboss.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <auth.server.jboss.kc13>true</auth.server.jboss.kc13>
                                    <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <profile>
            <id>migration-kc12</id>
            <activation>
                <property>
                    <name>migrated.auth.server.version</name>
                    <value>1.2.0.Final</value>
                </property>
            </activation>
            <properties>
                <migrated.auth.server.jboss.artifactId>integration-arquillian-server-wildfly-kc12</migrated.auth.server.jboss.artifactId>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <systemPropertyVariables>
                                    <auth.server.jboss.kc12>true</auth.server.jboss.kc12>
                                    <keycloak.migration.home>${containers.home}/keycloak-${migrated.auth.server.version}</keycloak.migration.home>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>




        <profile>
            <id>no-account</id>
            <properties>
                <exclude.account>**/account/**/*Test.java</exclude.account>
            </properties>
        </profile>
        <profile>
            <id>no-client</id>
            <properties>
                <exclude.client>**/client/**/*Test.java</exclude.client>
            </properties>
        </profile>
        <profile>
            <id>no-base</id>
            <properties>
                <exclude.account>**/account/**/*Test.java</exclude.account>
                <exclude.client>**/client/**/*Test.java</exclude.client>
            </properties>
        </profile>

        <profile>
            <id>common-test-dependencies</id>
            <activation>
                <file>
                    <exists>src/test</exists>
                    <!--    ^ only activate this profile in submodules that have actual tests -->
                </file>
            </activation>
            <dependencies>
                <!-- TEST DEPENDENCIES -->
                <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.junit</groupId>
                    <artifactId>arquillian-junit-container</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.jboss.arquillian.graphene</groupId>
                    <artifactId>graphene-webdriver</artifactId>
                    <version>${arquillian-graphene.version}</version>
                    <type>pom</type>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.protocol</groupId>
                    <artifactId>arquillian-protocol-servlet</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.extension</groupId>
                    <artifactId>arquillian-phantom-driver</artifactId>
                    <version>1.2.1.Final</version>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.graphene</groupId>
                    <artifactId>arquillian-browser-screenshooter</artifactId>
                    <version>${arquillian-graphene.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.apache.commons</groupId>
                            <artifactId>commons-io</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>

                <dependency>
                    <groupId>jfree</groupId>
                    <artifactId>jfreechart</artifactId>
                    <version>1.0.13</version>
                </dependency>

                <!--                <dependency>
                    <groupId>org.arquillian.extension</groupId>
                    <artifactId>arquillian-recorder-reporter-impl</artifactId>
                    <version>1.1.0.Final</version>
                </dependency>-->

                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </dependency>

                <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>javax.servlet-api</artifactId>
                    <version>3.1.0</version>
                </dependency>

                <dependency>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                    <version>1.9.2</version>
                    <type>jar</type>
                </dependency>

                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <scope>compile</scope>
                </dependency>

                <!-- Email Test Server -->
                <dependency>
                    <groupId>com.icegreen</groupId>
                    <artifactId>greenmail</artifactId>
                    <exclusions>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>

                <!-- Keycloak deps for tests -->

                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-dependencies-server-all</artifactId>
                    <type>pom</type>
                </dependency>

                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-admin-client</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-client-registration-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-services</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-adapter-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.keycloak</groupId>
                    <artifactId>keycloak-adapter-spi</artifactId>
                </dependency>

                <!--UNDERTOW-->

                <dependency>
                    <groupId>org.keycloak.testsuite</groupId>
                    <artifactId>integration-arquillian-servers-auth-server-undertow</artifactId>
                    <version>${project.version}</version>
                </dependency>

                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>undertow-embedded</artifactId>
                    <version>${undertow-embedded.version}</version>
                </dependency>

                <dependency>
                    <groupId>org.jboss.spec.javax.ws.rs</groupId>
                    <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>async-http-servlet-3.0</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-jaxrs</artifactId>
                    <exclusions>
                        <exclusion>
                            <groupId>log4j</groupId>
                            <artifactId>log4j</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-simple</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-client</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-undertow</artifactId>
                    <scope>compile</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-multipart-provider</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-jackson2-provider</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-annotations</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.hibernate.javax.persistence</groupId>
                    <artifactId>hibernate-jpa-2.1-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-entitymanager</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk15on</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcpkix-jdk15on</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.hamcrest</groupId>
                    <artifactId>hamcrest-all</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.infinispan</groupId>
                    <artifactId>infinispan-core</artifactId>
                </dependency>

                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.postgresql</groupId>
                    <artifactId>postgresql</artifactId>
                    <version>${postgresql.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.mariadb.jdbc</groupId>
                    <artifactId>mariadb-java-client</artifactId>
                    <version>${mariadb.version}</version>
                </dependency>

            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.liquibase</groupId>
                        <artifactId>liquibase-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>no-offset</id>
            <properties>
                <auth.server.port.offset>0</auth.server.port.offset>
                <auth.server.http.port>8080</auth.server.http.port>
                <auth.server.https.port>8443</auth.server.https.port>
                <auth.server.management.port>9990</auth.server.management.port>
                <auth.server.management.port.jmx>9999</auth.server.management.port.jmx>
            </properties>
        </profile>
        
    </profiles>
    
</project>