<?xml version="1.0" encoding="UTF-8"?>
<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>

   <inceptionYear>2024</inceptionYear>
   <groupId>org.alfresco</groupId>
   <artifactId>alfresco-event-outbox</artifactId>
   <packaging>pom</packaging>
   <version>0.0.3</version>

   <scm>
      <connection>scm:git:https://github.com/Alfresco/alfresco-event-outbox.git</connection>
      <developerConnection>scm:git:https://github.com/Alfresco/alfresco-event-outbox.git</developerConnection>
      <url>https://github.com/Alfresco/alfresco-event-outbox</url>
      <tag>alfresco-event-outbox-0.0.3</tag>
   </scm>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

      <dependency.testcontainers.version>1.19.8</dependency.testcontainers.version>
      <dependency.slf4j.version>2.0.9</dependency.slf4j.version>
      <dependency.junit.version>5.10.1</dependency.junit.version>
      <dependency.assertj.version>3.25.2</dependency.assertj.version>
      <dependency.archunit.version>1.2.1</dependency.archunit.version>
      <dependency.postgresql.version>42.7.0</dependency.postgresql.version>
      <dependecy.mysql-connector-java.version>8.0.33</dependecy.mysql-connector-java.version>
      <dependency.hikari.version>5.1.0</dependency.hikari.version>

      <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
      <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
      <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
      <maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
      <license-maven-plugin.version>2.4.0</license-maven-plugin.version>
      <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
      <dependency.mariadb-java-client.version>3.4.0</dependency.mariadb-java-client.version>
      <dependency.ojdbc.version>21.3.0.0</dependency.ojdbc.version>
      <dependency.mssql-jdbc.version>9.4.0.jre11</dependency.mssql-jdbc.version>
   </properties>

   <modules>
      <module>event-outbox</module>
   </modules>

   <distributionManagement>
      <repository>
         <id>alfresco-internal</id>
         <url>https://artifacts.alfresco.com/nexus/content/repositories/releases</url>
      </repository>
      <snapshotRepository>
         <id>alfresco-internal-snapshots</id>
         <url>https://artifacts.alfresco.com/nexus/content/repositories/snapshots</url>
      </snapshotRepository>
   </distributionManagement>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${dependency.slf4j.version}</version>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>${dependency.slf4j.version}</version>
         </dependency>
         <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${dependency.junit.version}</version>
         </dependency>
         <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${dependency.junit.version}</version>
         </dependency>
         <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>${dependency.assertj.version}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>postgresql</artifactId>
            <version>${dependency.testcontainers.version}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>mysql</artifactId>
            <version>${dependency.testcontainers.version}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>mariadb</artifactId>
            <version>${dependency.testcontainers.version}</version>
         </dependency>
         <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc11</artifactId>
            <version>${dependency.ojdbc.version}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>mssqlserver</artifactId>
            <version>${dependency.testcontainers.version}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>toxiproxy</artifactId>
            <version>${dependency.testcontainers.version}</version>
         </dependency>
         <dependency>
            <groupId>com.tngtech.archunit</groupId>
            <artifactId>archunit</artifactId>
            <version>${dependency.archunit.version}</version>
         </dependency>
         <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${dependency.postgresql.version}</version>
         </dependency>
         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${dependecy.mysql-connector-java.version}</version>
         </dependency>
         <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <version>${dependency.mariadb-java-client.version}</version>
         </dependency>
         <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>${dependency.mssql-jdbc.version}</version>
         </dependency>
         <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>${dependency.hikari.version}</version>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler-plugin.version}</version>
            <configuration>
               <source>17</source>
               <target>17</target>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin.version}</version>
            <configuration>
               <argLine>-Xmx1024m</argLine>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>${maven-resources-plugin.version}</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>${maven-failsafe-plugin.version}</version>
            <executions>
               <execution>
                  <goals>
                     <goal>integration-test</goal>
                     <goal>verify</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <version>${license-maven-plugin.version}</version>
            <configuration>
               <organizationName>Alfresco Software Limited</organizationName>
               <licenseName>enterprise</licenseName>
               <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
               <licenseResolver>classpath://alfresco</licenseResolver>
               <encoding>UTF-8</encoding>
               <roots>
                  <root>src</root>
               </roots>
               <includes>
                  <include>**/*.java</include>
               </includes>
            </configuration>
            <executions>
               <execution>
                  <id>third-party-licenses</id>
                  <goals>
                     <goal>add-third-party</goal>
                     <goal>download-licenses</goal>
                  </goals>
                  <phase>generate-resources</phase>
                  <configuration>
                     <failOnMissing>true</failOnMissing>
                     <excludedScopes>provided,test</excludedScopes>
                     <excludedGroups>org.alfresco</excludedGroups>
                     <failIfWarning>true</failIfWarning>
                  </configuration>
               </execution>
               <execution>
                  <id>check-file-header</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>check-file-header</goal>
                  </goals>
                  <configuration>
                     <failOnMissingHeader>true</failOnMissingHeader>
                     <failOnNotUptodateHeader>true</failOnNotUptodateHeader>
                  </configuration>
               </execution>
            </executions>
            <dependencies>
               <dependency>
                  <groupId>org.alfresco</groupId>
                  <artifactId>alfresco-license-headers</artifactId>
                  <version>1.0</version>
               </dependency>
            </dependencies>
         </plugin>
      </plugins>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>flatten-maven-plugin</artifactId>
               <version>${flatten-maven-plugin.version}</version>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>
</project>