<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>net.java.dev.activeobjects</groupId>
    <artifactId>activeobjects-parent</artifactId>
    <version>6.1.2-8d77224ea</version>
  </parent>
  <artifactId>activeobjects-integration-profiles</artifactId>
  <version>6.1.2-8d77224ea</version>
  <packaging>pom</packaging>
  <name>Active Objects - Integration Profiles</name>
  <description>ActiveObjects is an intuitive, pure-Java ORM. AO is designed from the ground up to be extremely simple
        and easy to use from an API standpoint.</description>
  <url>https://bitbucket.org/server-platform/activeobjects/activeobjects-integration-profiles/</url>
  <licenses>
    <license>
      <name>Apache License 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>
  <developers>
    <developer>
      <organization>Atlassian</organization>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:git@bitbucket.org:server-platform/activeobjects.git/activeobjects-integration-profiles</connection>
    <developerConnection>scm:git:git@bitbucket.org:server-platform/activeobjects.git/activeobjects-integration-profiles</developerConnection>
    <tag>aggregator-6.1.2-8d77224ea</tag>
    <url>https://bitbucket.org/server-platform/activeobjects/activeobjects-integration-profiles</url>
  </scm>
  <properties>
    <hsqldb.groupid>hsqldb</hsqldb.groupid>
    <oracle.driver.artifact>ojdbc8</oracle.driver.artifact>
    <oracle.driver.version>19.3.0.0</oracle.driver.version>
    <db.password>ao_password</db.password>
    <nuodb.version>2.6.1</nuodb.version>
    <hsqldb.version>1.8.1.1</hsqldb.version>
    <sqljdbc.artifactId>mssql-jdbc</sqljdbc.artifactId>
    <db.skip>false</db.skip>
    <postgres.version>42.2.24</postgres.version>
    <db.username>${db.username.prefix}ao_user</db.username>
    <db.username.prefix></db.username.prefix>
    <sqljdbc.version>7.4.1.jre8</sqljdbc.version>
    <oracle.driver.group>com.oracle.ojdbc</oracle.driver.group>
    <db.host>localhost</db.host>
    <db.name>ao_test</db.name>
    <db.schema>ao_schema</db.schema>
  </properties>
  <profiles>
    <profile>
      <id>hsql</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.password></db.password>
        <docker.skip>true</docker.skip>
        <ao.test.database>hsql</ao.test.database>
        <db.skip>true</db.skip>
        <db.name></db.name>
        <db.username></db.username>
        <db.schema></db.schema>
      </properties>
      <dependencies>
        <dependency>
          <groupId>${hsqldb.groupid}</groupId>
          <artifactId>hsqldb</artifactId>
          <version>${hsqldb.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>h2-memory</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.password></db.password>
        <docker.skip>true</docker.skip>
        <ao.test.database>h2-memory</ao.test.database>
        <db.skip>true</db.skip>
        <db.name></db.name>
        <db.username></db.username>
        <db.schema></db.schema>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
          <version>${h2.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>com.mchange</groupId>
          <artifactId>c3p0</artifactId>
          <version>${c3p0.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>h2-file</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.password></db.password>
        <docker.skip>true</docker.skip>
        <ao.test.database>h2-file</ao.test.database>
        <db.skip>true</db.skip>
        <db.name></db.name>
        <db.username></db.username>
        <db.schema></db.schema>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
          <version>${h2.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>h2-server</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.password></db.password>
        <docker.skip>true</docker.skip>
        <ao.test.database>h2-server</ao.test.database>
        <db.skip>true</db.skip>
        <db.name></db.name>
        <db.username></db.username>
        <db.schema></db.schema>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
          <version>${h2.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>nuodb</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.password></db.password>
        <docker.skip>true</docker.skip>
        <ao.test.database>nuodb</ao.test.database>
        <db.skip>true</db.skip>
        <db.name></db.name>
        <db.username></db.username>
        <db.schema></db.schema>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.nuodb.jdbc</groupId>
          <artifactId>nuodb-jdbc</artifactId>
          <version>${nuodb.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>mysql</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>${docker.image}</name>
                  <run>
                    <ports>
                      <port>db.port:3306</port>
                    </ports>
                    <cmd>--character-set-server=utf8 --collation-server=utf8_bin --bind-address=0.0.0.0</cmd>
                    <env>
                      <MYSQL_DATABASE>${db.name}</MYSQL_DATABASE>
                      <MYSQL_USER>${db.username}</MYSQL_USER>
                      <MYSQL_PASSWORD>${db.password}</MYSQL_PASSWORD>
                      <MYSQL_ROOT_PASSWORD>${db.system.password}</MYSQL_ROOT_PASSWORD>
                    </env>
                    <wait>
                      <log>${docker.wait.log}</log>
                      <time>120000</time>
                      <tcp>
                        <host>localhost</host>
                        <ports>
                          <port>3306</port>
                        </ports>
                      </tcp>
                    </wait>
                    <log>
                      <prefix>mysql</prefix>
                    </log>
                  </run>
                </image>
              </images>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.system.password>root</db.system.password>
        <db.port>3306</db.port>
        <ao.test.database>mysql</ao.test.database>
        <docker.image>mysql:5.5</docker.image>
        <db.system.username>root</db.system.username>
        <docker.wait.log>(?s)starting as process 1\b.*ready for connections</docker.wait.log>
        <db.url>jdbc:mysql://localhost:${db.port}/${db.name}?autoReconnect=true</db.url>
      </properties>
      <dependencies>
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>mysql_8.4</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>${docker.image}</name>
                  <run>
                    <ports>
                      <port>db.port:3306</port>
                    </ports>
                    <cmd>--character-set-server=utf8 --collation-server=utf8_bin --bind-address=0.0.0.0</cmd>
                    <env>
                      <MYSQL_DATABASE>${db.name}</MYSQL_DATABASE>
                      <MYSQL_USER>${db.username}</MYSQL_USER>
                      <MYSQL_PASSWORD>${db.password}</MYSQL_PASSWORD>
                      <MYSQL_ROOT_PASSWORD>${db.system.password}</MYSQL_ROOT_PASSWORD>
                    </env>
                    <wait>
                      <log>${docker.wait.log}</log>
                      <time>120000</time>
                      <tcp>
                        <host>localhost</host>
                        <ports>
                          <port>3306</port>
                        </ports>
                      </tcp>
                    </wait>
                    <log>
                      <prefix>mysql</prefix>
                    </log>
                  </run>
                </image>
              </images>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <db.system.password>root</db.system.password>
        <db.port>3306</db.port>
        <ao.test.database>mysql</ao.test.database>
        <docker.image>mysql:8.4</docker.image>
        <db.system.username>root</db.system.username>
        <docker.wait.log>(?s)starting as process 1\b.*ready for connections</docker.wait.log>
        <db.url>jdbc:mysql://localhost:${db.port}/${db.name}?autoReconnect=true</db.url>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.mysql</groupId>
          <artifactId>mysql-connector-j</artifactId>
          <version>9.1.0</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>postgres</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>${docker.image}</name>
                  <run>
                    <ports>
                      <port>db.port:5432</port>
                    </ports>
                    <env>
                      <POSTGRES_DB>${db.name}</POSTGRES_DB>
                      <POSTGRES_USER>${db.username}</POSTGRES_USER>
                      <POSTGRES_PASSWORD>${db.password}</POSTGRES_PASSWORD>
                    </env>
                    <wait>
                      <log>${docker.wait.log}</log>
                      <time>1200000</time>
                    </wait>
                    <log>
                      <prefix>postgres</prefix>
                    </log>
                  </run>
                </image>
              </images>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <ao.test.database>postgres</ao.test.database>
        <docker.image>postgres:9.2</docker.image>
        <docker.wait.log>PostgreSQL init process complete</docker.wait.log>
        <db.schema>public</db.schema>
        <db.url>jdbc:postgresql://localhost:${db.port}/${db.name}</db.url>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <version>${postgres.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>oracle-free</id>
      <properties>
        <db.sid>FREE</db.sid>
        <db.username.prefix>c##</db.username.prefix>
      </properties>
    </profile>
    <profile>
      <id>oracle</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <images>
                <image>
                  <name>${docker.image}</name>
                  <alias>oracle</alias>
                  <run>
                    <ports>
                      <port>db.port:1521</port>
                    </ports>
                    <wait>
                      <log>${docker.wait.log}</log>
                      <time>600000</time>
                    </wait>
                    <log>
                      <prefix>oracle:</prefix>
                    </log>
                  </run>
                </image>
              </images>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>create-db</id>
                <configuration>
                  <autocommit>true</autocommit>
                  <sqlCommand>DROP USER ${db.username.prefix}ao_user CASCADE;
                                        CREATE USER ${db.username.prefix}ao_user IDENTIFIED BY ao_password DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
                                        GRANT ALL PRIVILEGES TO ${db.username.prefix}ao_user WITH ADMIN OPTION;
                                        GRANT CONNECT TO ${db.username.prefix}ao_user;</sqlCommand>
                  <onError>continue</onError>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>${oracle.driver.group}</groupId>
                <artifactId>${oracle.driver.artifact}</artifactId>
                <version>${oracle.driver.version}</version>
              </dependency>
            </dependencies>
            <configuration>
              <username>SYS AS SYSDBA</username>
              <password>oracle</password>
              <url>${db.url}</url>
              <driver>oracle.jdbc.OracleDriver</driver>
              <skip>${skipTests}</skip>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.NuoDBIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest,
                                net.java.ao.test.junit.SqlServerIntegrationTest</excludedGroups>
              <trimStackTrace>false</trimStackTrace>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <ao.test.database>oracle</ao.test.database>
        <db.port>1521</db.port>
        <docker.image>docker.atl-paas.net/atlassian/jira/server/oracle-database:19.3.0-se2-1.2.0-warm-1.1.0</docker.image>
        <docker.wait.log>(?s).*DATABASE IS READY TO USE.*</docker.wait.log>
        <db.sid>JIRADB</db.sid>
        <db.schema>${db.username.prefix}ao_user</db.schema>
        <db.url>jdbc:oracle:thin:@localhost:${db.port}/${db.sid}?oracle.net.disableOob=true</db.url>
      </properties>
      <dependencies>
        <dependency>
          <groupId>${oracle.driver.group}</groupId>
          <artifactId>${oracle.driver.artifact}</artifactId>
          <version>${oracle.driver.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>sqlserver</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.leberrigaud.maven.plugins</groupId>
            <artifactId>database-maven-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>${sqljdbc.artifactId}</artifactId>
                <version>${sqljdbc.version}</version>
                <scope>runtime</scope>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <excludedGroups>net.java.ao.test.junit.H2IntegrationTest,
                                net.java.ao.test.junit.HsqlIntegrationTest,
                                net.java.ao.test.junit.DerbyIntegrationTest,
                                net.java.ao.test.junit.MySqlIntegrationTest,
                                net.java.ao.test.junit.OracleIntegrationTest,
                                net.java.ao.test.junit.PostgresIntegrationTest</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <docker.skip>true</docker.skip>
        <db.system.password>password</db.system.password>
        <ao.test.database>sqlserver</ao.test.database>
        <db.system.username>sa</db.system.username>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.microsoft.sqlserver</groupId>
          <artifactId>${sqljdbc.artifactId}</artifactId>
          <version>${sqljdbc.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>commons-dbcp</id>
      <dependencies>
        <dependency>
          <groupId>commons-dbcp</groupId>
          <artifactId>commons-dbcp</artifactId>
          <version>${dbcp.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>commons-dbcp2</id>
      <dependencies>
        <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-dbcp2</artifactId>
          <version>${dbcp2.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>tomcat-dbcp</id>
      <dependencies>
        <dependency>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-dbcp</artifactId>
          <version>${tomcat-dbcp.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>c3p0</id>
      <dependencies>
        <dependency>
          <groupId>com.mchange</groupId>
          <artifactId>c3p0</artifactId>
          <version>${c3p0.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>proxool</id>
      <dependencies>
        <dependency>
          <groupId>proxool</groupId>
          <artifactId>proxool</artifactId>
          <version>${proxool.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>snaq.db</id>
      <dependencies>
        <dependency>
          <groupId>snaq.db.dbpool</groupId>
          <artifactId>dbpool</artifactId>
          <version>4.9.3-jdbc3</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
