<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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 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.apache.syncope</groupId>
    <artifactId>syncope-fit</artifactId>
    <version>2.0.13</version>
  </parent>

  <name>Apache Syncope FIT Core Reference</name>
  <description>Apache Syncope FIT Core Reference</description>
  <groupId>org.apache.syncope.fit</groupId>
  <artifactId>syncope-fit-core-reference</artifactId>
  <packaging>war</packaging>
  
  <properties>
    <jdbcdriver.groupId>com.h2database</jdbcdriver.groupId>
    <jdbcdriver.artifactId>h2</jdbcdriver.artifactId>
    
    <rootpom.basedir>${basedir}/../..</rootpom.basedir>
    <cli-test.dir>${project.build.directory}/cli-test</cli-test.dir>
  </properties>

  <dependencies>
    <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.apache.syncope.core</groupId>
      <artifactId>syncope-core-migration</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.core</groupId>
      <artifactId>syncope-core-rest-cxf</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.core</groupId>
      <artifactId>syncope-core-workflow-java</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.core</groupId>
      <artifactId>syncope-core-persistence-jpa</artifactId>
      <version>${project.version}</version>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
      <groupId>com.lmax</groupId>
      <artifactId>disruptor</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    
    <!-- TEST -->
    <dependency>
      <groupId>com.icegreen</groupId>
      <artifactId>greenmail</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.fit</groupId>
      <artifactId>syncope-fit-build-tools</artifactId>
      <version>${project.version}</version>
      <type>war</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.client</groupId>
      <artifactId>syncope-client-lib</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.client</groupId>
      <artifactId>syncope-client-cli</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.client</groupId>
      <artifactId>syncope-client-console</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http-hc</artifactId>
      <version>${cxf.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.camel</groupId>
      <artifactId>syncope-ext-camel-rest-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>          
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.camel</groupId>
      <artifactId>syncope-ext-camel-client-console</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>  
    <dependency>
      <groupId>org.apache.syncope.ext.saml2sp</groupId>
      <artifactId>syncope-ext-saml2sp-rest-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>          
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.saml2sp</groupId>
      <artifactId>syncope-ext-saml2sp-client-console</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.scimv2</groupId>
      <artifactId>syncope-ext-scimv2-rest-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.scimv2</groupId>
      <artifactId>syncope-ext-scimv2-scim-rest-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.scimv2</groupId>
      <artifactId>syncope-ext-scimv2-client-console</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.oidcclient</groupId>
      <artifactId>syncope-ext-oidcclient-rest-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>          
    </dependency>
    <dependency>
      <groupId>org.apache.syncope.ext.oidcclient</groupId>
      <artifactId>syncope-ext-oidcclient-client-console</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpkix-jdk15on</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <inherited>true</inherited>
        <executions>
          <execution>
            <id>set-bundles</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>copy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <inherited>true</inherited>
        <executions>
          <execution>
            <id>setupCSV_CLI</id>
            <phase>pre-integration-test</phase>
            <configuration>
              <target>
                <copy file="${project.build.directory}/test-classes/test.csv" todir="${test.csvdir.path}" overwrite="true" />

                <mkdir dir="${cli-test.dir}" />
                <unzip src="${basedir}/../../client/cli/target/syncope-client-cli-${project.version}.zip" dest="${cli-test.dir}" />
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- By default, only core IT cases are run, use the 'full-it' profile for running all IT cases -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
          <systemPropertyVariables>
            <jaxrsContentType>${jaxrs.content.type}</jaxrsContentType>
          </systemPropertyVariables>
          <includes>
            <include>**/org/apache/syncope/fit/core/*ITCase.java</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <id>verify</id>
            <goals>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
          <container>
            <dependencies>
              <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
              </dependency>
              <dependency>
                <groupId>${jdbcdriver.groupId}</groupId>
                <artifactId>${jdbcdriver.artifactId}</artifactId>
              </dependency>
            </dependencies>
          </container>
          <configuration>
            <type>standalone</type>
            <properties>
              <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
              <cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port>
              <cargo.rmi.port>${cargo.rmi.port}</cargo.rmi.port>

              <cargo.jvmargs>-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs>
            </properties>
            <configfiles>
              <configfile>
                <file>${basedir}/src/main/resources/context.xml</file>
                <todir>conf/</todir>
                <tofile>context.xml</tofile>
              </configfile>
            </configfiles>
          </configuration>
          <deployables>
            <deployable>
              <groupId>org.apache.syncope.fit</groupId>
              <artifactId>syncope-fit-build-tools</artifactId>
              <type>war</type>
              <properties>
                <context>syncope-fit-build-tools</context>
              </properties>
            </deployable>
            <deployable>
              <location>${project.build.directory}/${project.build.finalName}</location>
              <pingURL>http://localhost:${cargo.servlet.port}/syncope/cacheStats.jsp</pingURL>
              <pingTimeout>60000</pingTimeout>
              <properties>
                <context>syncope</context>
              </properties>
            </deployable>
          </deployables>
        </configuration>
        <executions>
          <execution>
            <id>start-container</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>start</goal>
            </goals>
          </execution>
          <execution>
            <id>stop-container</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>stop</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <resourceIncludes>src/main/resources/**/*.properties</resourceIncludes>
        </configuration>
      </plugin>
                          
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>ianal-maven-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
    </plugins>
    
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
          <exclude>context.xml</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>${basedir}/../../core/persistence-jpa/src/main/resources</directory>
        <includes>
          <include>persistence.properties</include>
        </includes>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>${basedir}/../../core/persistence-jpa/src/test/resources/domains</directory>
        <targetPath>${project.build.directory}/classes/domains</targetPath>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>${basedir}/../../core/spring/src/main/resources</directory>
        <includes>
          <include>security.properties</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
        <excludes>
          <exclude>keystore</exclude>
        </excludes>
      </testResource>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>false</filtering>
        <includes>
          <include>keystore</include>
        </includes>
      </testResource>
      <testResource>
        <directory>${basedir}/../../core/rest-cxf/src/main/resources</directory>
        <includes>
          <include>errorMessages.properties</include>
        </includes>
      </testResource>
    </testResources>
  </build>
  
  <profiles>
    <profile>
      <id>full-it</id>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <systemPropertyVariables>
                <jaxrsContentType>${jaxrs.content.type}</jaxrsContentType>
              </systemPropertyVariables>
              <includes>
                <include>**/*ITCase.java</include>
              </includes>
            </configuration>
            <executions>
              <execution>
                <id>verify</id>
                <goals>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  
    <profile>
      <id>elasticsearch-it</id>
      
      <dependencies>
        <dependency>
          <groupId>org.apache.syncope.ext.elasticsearch</groupId>
          <artifactId>syncope-ext-elasticsearch-provisioning-java</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.elasticsearch</groupId>
          <artifactId>syncope-ext-elasticsearch-persistence-jpa</artifactId>
          <version>${project.version}</version>
        </dependency>
      </dependencies>
      
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <webResources>
                <resource>
                  <directory>src/main/webapp/WEB-INF</directory>
                  <excludes>
                    <exclude>web.xml</exclude>
                  </excludes>
                </resource>
              </webResources>
              <webXml>${basedir}/src/main/resources/elasticsearch/web.xml</webXml>
            </configuration>
          </plugin>
          
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>docker.elastic.co/elasticsearch/elasticsearch:${elasticsearch.version}</name>
                  <run>
                    <env>
                      <discovery.type>single-node</discovery.type>
                      <cluster.name>elasticsearch</cluster.name>
                      <xpack.security.enabled>false</xpack.security.enabled>
                    </env>
                    <ports>
                      <port>9200:9200</port>
                      <port>9300:9300</port>
                    </ports>
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>start-elasticsearch</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-elasticsearch</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
        
        <testResources>
          <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>keystore</exclude>
            </excludes>
          </testResource>
          <testResource>
            <directory>src/test/resources</directory>
            <filtering>false</filtering>
            <includes>
              <include>keystore</include>
            </includes>
          </testResource>
          <testResource>
            <directory>${basedir}/../../core/rest-cxf/src/main/resources</directory>
            <includes>
              <include>errorMessages.properties</include>
            </includes>
          </testResource>
          <testResource>
            <directory>src/main/resources/elasticsearch</directory>
            <filtering>true</filtering>
          </testResource>
        </testResources>
      </build>
    </profile>
  
    <profile>
      <id>postgres-it</id>

      <properties>
        <jdbcdriver.groupId>org.postgresql</jdbcdriver.groupId>
        <jdbcdriver.artifactId>postgresql</jdbcdriver.artifactId>
      </properties>

      <dependencies>
        <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <version>${jdbc.postgresql.version}.jre7</version>
          <scope>test</scope>
        </dependency>
      </dependencies>

      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>crunchydata/crunchy-postgres:centos7-10.5-2.1.0</name>
                  <run>
                    <env>
                      <PG_ROOT_PASSWORD>postgres</PG_ROOT_PASSWORD>
                      <PG_MODE>primary</PG_MODE>
                      <PG_PRIMARY_USER>postgres</PG_PRIMARY_USER>
                      <PG_PRIMARY_PASSWORD>postgres</PG_PRIMARY_PASSWORD>
                      <PG_PRIMARY_HOST>localhost</PG_PRIMARY_HOST>
                      <PG_PRIMARY_PORT>5432</PG_PRIMARY_PORT>
                      <PG_DATABASE>syncope</PG_DATABASE>
                      <PG_USER>syncope</PG_USER>
                      <PG_PASSWORD>syncope</PG_PASSWORD>
                    </env>
                    <ports>
                      <port>5432:5432</port>
                    </ports>
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>start-postgres</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-postgres</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>provisioning.properties</exclude>
              <exclude>views.xml</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources/postgres</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
        <!-- Views need to be customized, so the PostgreSQL-specific views.xml need to be copied to target/test-classes,
        e.g. the conf directory, in order to override classpath:views.xml -->
        <testResources>
          <testResource>
            <directory>src/main/resources/postgres</directory>
            <includes>
              <include>views.xml</include>
            </includes>            
          </testResource>
        </testResources>
      </build>
    </profile>
    
    <profile>
      <id>mysql-it</id>

      <properties>
        <jdbcdriver.groupId>mysql</jdbcdriver.groupId>
        <jdbcdriver.artifactId>mysql-connector-java</jdbcdriver.artifactId>
      </properties>

      <dependencies>
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${jdbc.mysql.version}</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>mysql/mysql-server:5.7</name>
                  <run>
                    <env>
                      <MYSQL_DATABASE>syncope</MYSQL_DATABASE>
                      <MYSQL_USER>syncope</MYSQL_USER>
                      <MYSQL_PASSWORD>syncope</MYSQL_PASSWORD>
                    </env>
                    <ports>
                      <port>3306:3306</port>
                    </ports>
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>start-mysql</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-mysql</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <excludes>
              <exclude>provisioning.properties</exclude>
            </excludes>
            <filtering>true</filtering>
          </resource>
          <resource>
            <directory>src/main/resources/mysql</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </build>
    </profile>
    
    <profile>
      <id>mariadb-it</id>

      <properties>
        <jdbcdriver.groupId>org.mariadb.jdbc</jdbcdriver.groupId>
        <jdbcdriver.artifactId>mariadb-java-client</jdbcdriver.artifactId>
      </properties>

      <dependencies>
        <dependency>
          <groupId>org.mariadb.jdbc</groupId>
          <artifactId>mariadb-java-client</artifactId>
          <version>${jdbc.mariadb.version}</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>mariadb:10.3.7</name>
                  <run>
                    <env>
                      <MYSQL_ROOT_PASSWORD>password</MYSQL_ROOT_PASSWORD>
                      <MYSQL_DATABASE>syncope</MYSQL_DATABASE>
                      <MYSQL_USER>syncope</MYSQL_USER>
                      <MYSQL_PASSWORD>syncope</MYSQL_PASSWORD>
                    </env>
                    <ports>
                      <port>3306:3306</port>
                    </ports>
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>start-mariadb</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-mariadb</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>provisioning.properties</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources/mariadb</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </build>
    </profile>
    
    <profile>
      <id>oracle-it</id>

      <properties>
        <jdbcdriver.groupId>com.oracle.jdbc</jdbcdriver.groupId>
        <jdbcdriver.artifactId>ojdbc8</jdbcdriver.artifactId>
      </properties>

      <dependencies>
        <dependency>
          <groupId>com.oracle.jdbc</groupId>
          <artifactId>ojdbc8</artifactId>
          <version>12.2.0.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>oracle-xe-11g</name>
                  <build>
                    <dockerFileDir>${project.basedir}/src/main/resources/oracle</dockerFileDir>
                  </build>
                  <run>
                    <env>
                      <ORACLE_DISABLE_ASYNCH_IO>true</ORACLE_DISABLE_ASYNCH_IO>
                    </env>
                    <ports>
                      <port>1521:1521</port>
                    </ports>
                    <wait>
                      <log>Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production</log>
                      <time>30000</time>
                    </wait>                
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>buid-oracle</id>
                <phase>initialize</phase>
                <goals>
                  <goal>build</goal>
                </goals>
              </execution>
              <execution>
                <id>start-oracle</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-oracle</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>provisioning.properties</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources/oracle</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </build>
    </profile>

    <profile>
      <id>sqlserver-it</id>

      <properties>
        <jdbcdriver.groupId>com.microsoft.sqlserver</jdbcdriver.groupId>
        <jdbcdriver.artifactId>mssql-jdbc</jdbcdriver.artifactId>
      </properties>

      <dependencies>
        <dependency>
          <groupId>com.microsoft.sqlserver</groupId>
          <artifactId>mssql-jdbc</artifactId>
          <version>${jdbc.mssql.version}7</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>mcmoe/mssqldocker:latest</name>
                  <run>
                    <env>
                      <ACCEPT_EULA>Y</ACCEPT_EULA>
                      <SA_PASSWORD>2astazeY</SA_PASSWORD>
                      <MSSQL_DB>syncope</MSSQL_DB>
                      <MSSQL_USER>syncope</MSSQL_USER>
                      <MSSQL_PASSWORD>Syncope123</MSSQL_PASSWORD>
                    </env>
                    <ports>
                      <port>1433:1433</port>
                    </ports>
                  </run>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>start-sqlserver</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-sqlserver</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                  <goal>remove</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>provisioning.properties</exclude>
              <exclude>views.xml</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources/sqlserver</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
        <!-- Views need to be customized, so the SQL Server-specific views.xml need to be copied to target/test-classes,
        e.g. the conf directory, in order to override classpath:views.xml -->
        <testResources>
          <testResource>
            <directory>src/main/resources/sqlserver</directory>
            <includes>
              <include>views.xml</include>
            </includes>            
          </testResource>
        </testResources>
      </build>
    </profile>
    
    <profile>
      <id>glassfish-it</id>
      
      <dependencies>
        <dependency>
          <groupId>org.apache.syncope.core</groupId>
          <artifactId>syncope-core-persistence-jpa</artifactId>
          <version>${project.version}</version>
          <exclusions>
            <exclusion>
              <groupId>org.apache.bval</groupId>
              <artifactId>bval-jsr</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
    
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
        </dependency>
      </dependencies>

      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <container>
                <containerId>glassfish4x</containerId>
                <zipUrlInstaller>
                  <url>http://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip</url>
                  <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
                  <extractDir>${project.build.directory}/cargo/extract</extractDir>
                </zipUrlInstaller>
                <log>${cargo.log}</log>
                <output>${cargo.output}</output>
              </container>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>payara-it</id>

      <dependencies>
        <dependency>
          <groupId>org.apache.syncope.core</groupId>
          <artifactId>syncope-core-persistence-jpa</artifactId>
          <version>${project.version}</version>
          <exclusions>
            <exclusion>
              <groupId>org.apache.bval</groupId>
              <artifactId>bval-jsr</artifactId>
            </exclusion>
          </exclusions>
        </dependency>

        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
        </dependency>
      </dependencies>

      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <container>
                <containerId>glassfish4x</containerId>
                <zipUrlInstaller>
                  <url>https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/Payara+4.1.2.172/payara-4.1.2.172.zip</url>
                  <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
                  <extractDir>${project.build.directory}/cargo/extract</extractDir>
                </zipUrlInstaller>
                <log>${cargo.log}</log>
                <output>${cargo.output}</output>
              </container>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>jboss-it</id>

      <dependencies>
        <dependency>
          <groupId>javax.xml.ws</groupId>
          <artifactId>jaxws-api</artifactId>
          <version>2.2.11</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-core</artifactId>
          <version>${cxf.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-transports-http</artifactId>
          <version>${cxf.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-ws-policy</artifactId>
          <version>${cxf.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-wsdl</artifactId>
          <version>${cxf.version}</version>
        </dependency>

        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
        </dependency>
      </dependencies>

      <build>
        <defaultGoal>clean verify</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <webResources>
                <resource>
                  <directory>src/main/webapp/WEB-INF</directory>
                  <excludes>
                    <exclude>web.xml</exclude>
                  </excludes>
                </resource>
              </webResources>
              <webXml>${basedir}/src/main/resources/jboss/web.xml</webXml>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <container>
                <containerId>wildfly10x</containerId>
                <zipUrlInstaller>
                  <url>http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.zip</url>
                  <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
                  <extractDir>${project.build.directory}/cargo/extract</extractDir>
                </zipUrlInstaller>
                <log>${cargo.log}</log>
                <output>${cargo.output}</output>
              </container>
              <configuration>
                <properties>
                  <cargo.jvmargs>-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:PermSize=512m -XX:MaxPermSize=1024m -Xmx2048m -Xms1024m</cargo.jvmargs>
                </properties>
              </configuration>
            </configuration>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>restCXFContext.xml</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>${basedir}/../../core/persistence-jpa/src/main/resources</directory>
            <includes>
              <include>persistenceContext.xml</include>
            </includes>
            <filtering>true</filtering>
          </resource>
          <resource>
            <directory>src/main/resources/jboss</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </build>
    </profile>

    <profile>
      <id>skipTests</id>

      <dependencies>
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
        </dependency>
      </dependencies>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <skipTests>${skipTests}</skipTests>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <deployables>
                <deployable>
                  <location>${project.build.directory}/${project.build.finalName}.war</location>
                </deployable>
              </deployables>
            </configuration>
            <executions>
              <execution>
                <id>install-container</id>
                <phase>package</phase>
                <goals>
                  <goal>install</goal>
                </goals>
              </execution>
              <execution>
                <id>start-container</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>debug</id>

      <properties>
        <skipTests>true</skipTests>
      </properties>

      <build>
        <defaultGoal>clean verify cargo:run</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <configuration>
                <properties>
                  <cargo.jvmargs>-Xdebug -Djaxb.debug=true -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
                    -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs>
                </properties>
              </configuration>
            </configuration>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    
    <profile>
      <id>hotswap</id>
      
      <properties>
        <skipTests>true</skipTests>
      </properties>
      
      <dependencies>
        <dependency>
          <groupId>org.hotswapagent</groupId>
          <artifactId>hotswap-agent</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <defaultGoal>clean verify cargo:run</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <configuration>
                <properties>
                  <cargo.jvmargs>
                    -XXaltjvm=dcevm -javaagent:${settings.localRepository}/org/hotswapagent/hotswap-agent/${hotswap.version}/hotswap-agent-${hotswap.version}.jar=autoHotswap=true,disablePlugin=Spring
                    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
                    -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs>
                </properties>
              </configuration>
            </configuration>
            <executions>
              <execution>
                <id>start-container</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>stop-container</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <resources>
          <resource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
            <includes>
              <include>hotswap-agent.properties</include>
            </includes>
          </resource>
        </resources>
      </build>
    </profile>

    <profile>
      <id>all</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      
      <dependencies>
        <dependency>
          <groupId>org.apache.syncope.core</groupId>
          <artifactId>syncope-core-workflow-activiti</artifactId>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>org.apache.syncope.ext.camel</groupId>
          <artifactId>syncope-ext-camel-rest-cxf</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.camel</groupId>
          <artifactId>syncope-ext-camel-persistence-jpa</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.camel</groupId>
          <artifactId>syncope-ext-camel-provisioning</artifactId>
          <version>${project.version}</version>
        </dependency>
        
        <dependency>
          <groupId>org.apache.syncope.ext.saml2sp</groupId>
          <artifactId>syncope-ext-saml2sp-rest-cxf</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.saml2sp</groupId>
          <artifactId>syncope-ext-saml2sp-persistence-jpa</artifactId>
          <version>${project.version}</version>
        </dependency>
        
        <dependency>
          <groupId>org.apache.syncope.ext.oidcclient</groupId>
          <artifactId>syncope-ext-oidcclient-rest-cxf</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.oidcclient</groupId>
          <artifactId>syncope-ext-oidcclient-persistence-jpa</artifactId>
          <version>${project.version}</version>
        </dependency>
        
        <dependency>
          <groupId>org.apache.syncope.ext.scimv2</groupId>
          <artifactId>syncope-ext-scimv2-rest-cxf</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.syncope.ext.scimv2</groupId>
          <artifactId>syncope-ext-scimv2-scim-rest-cxf</artifactId>
          <version>${project.version}</version>
        </dependency>
        
        <dependency>
          <groupId>org.apache.syncope.ext</groupId>
          <artifactId>syncope-ext-swagger-ui</artifactId>
          <version>${project.version}</version>
        </dependency>
      </dependencies>
      
      <build>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>workflow.properties</exclude>
              <exclude>provisioning.properties</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources/all</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </build>
    </profile>
    
    <profile>
      <id>apache-release</id>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <inherited>false</inherited>
            <configuration>
              <skipSource>true</skipSource>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>
</project>
