postgresql
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.axoniq.framework</groupId>
<artifactId>postgresql</artifactId>
<version>0.1.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2010-2025. AxonIQ B.V.
~
~ Licensed under the AXONIQ SOFTWARE SUBSCRIPTION AGREEMENT TERMS,
~ Version September 2025 (the "License");
~ The software is available under Non-Production Free License.
~ Production use requires a paid license. See the License for the
~ specific language governing permissions and limitations under
~ the License.
~
~ You may not use this file except in compliance with the License.
~ You may obtain a copy of the License at:
~
~ https://lp.axoniq.io/axoniq-software-subscription-agreement-terms
~
~
-->
<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">
<groupId>io.axoniq.framework</groupId>
<artifactId>postgresql</artifactId>
<version>0.1.0</version>
<packaging>pom</packaging>
<modelVersion>4.0.0</modelVersion>
<name>AxonIQ Framework - PostgreSQL Extension</name>
<description>
An extension, from AxonIQ, for Axon Framework, providing a tailored storage solution through PostgreSQL.
</description>
<inceptionYear>2025</inceptionYear>
<url>https://axoniq.io/</url>
<licenses>
<license>
<name>Commercial</name>
<url>https://lp.axoniq.io/axoniq-software-subscription-agreement-terms</url>
</license>
</licenses>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/AxonIQ/extension-postgresql/issues</url>
</issueManagement>
<modules>
<module>postgresql-core</module>
</modules>
<properties>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<!-- Main -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<axon-framework.version>5.0.0-preview</axon-framework.version>
<postgresql.version>42.7.8</postgresql.version>
<hikari-cp.version>7.0.2</hikari-cp.version>
<!-- Conversion -->
<jackson.version>2.20.0</jackson.version>
<!-- Logging -->
<log4j.version>2.25.1</log4j.version>
<slf4j.version>2.0.17</slf4j.version>
<!-- Testing -->
<assertj.version>3.27.4</assertj.version>
<awaitility.version>4.3.0</awaitility.version>
<hamcrest.version>3.0</hamcrest.version>
<junit.jupiter.version>5.13.4</junit.jupiter.version>
<mockito.version>5.20.0</mockito.version>
<reactor.version>3.7.11</reactor.version>
<testcontainers.version>1.21.3</testcontainers.version>
<!-- Build / Plugin -->
<central-publishing-maven-plugin.version>0.9.0</central-publishing-maven-plugin.version>
<jacoco-maven.version>0.8.13</jacoco-maven.version>
<maven-assembly.version>3.7.1</maven-assembly.version>
<maven-clean.version>3.5.0</maven-clean.version>
<maven-compiler.version>3.14.1</maven-compiler.version>
<maven-enforcer.version>3.6.1</maven-enforcer.version>
<maven-failsafe.version>3.5.4</maven-failsafe.version>
<maven-gpg.version>3.2.8</maven-gpg.version>
<maven-install.version>3.1.4</maven-install.version>
<maven-jar.version>3.4.2</maven-jar.version>
<maven-javadoc.version>3.12.0</maven-javadoc.version>
<maven-release.version>3.1.1</maven-release.version>
<maven-source.version>3.3.1</maven-source.version>
<maven-surefire.version>3.5.4</maven-surefire.version>
<maven-resources.version>3.3.1</maven-resources.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Axon Framework -->
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-eventsourcing</artifactId>
<version>${axon-framework.version}</version>
</dependency>
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-eventsourcing</artifactId>
<version>${axon-framework.version}</version>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-messaging</artifactId>
<version>${axon-framework.version}</version>
<classifier>tests</classifier>
</dependency>
<!-- Conversion -->
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Database -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${hikari-cp.version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${awaitility.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.jupiter.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<version>${reactor.version}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<defaultGoal>clean package</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven.version}</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean.version}</version>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer.version}</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install.version}</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire.version}</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- compile -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<encoding>UTF-8</encoding>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<parameters>true</parameters>
</configuration>
</plugin>
<!-- test -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Djava.awt.headless=true</argLine>
<systemPropertyVariables>
<slf4j.version>${slf4j.version}</slf4j.version>
<log4j.version>${log4j.version}</log4j.version>
</systemPropertyVariables>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
<include>**/*Test_*.java</include>
<include>**/*Tests_*.java</include>
</includes>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*IntegrationTests.java</exclude>
<exclude>**/*IntegrationTest_*.java</exclude>
<exclude>**/*IntegrationTests_*.java</exclude>
</excludes>
</configuration>
</plugin>
<!-- package -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly.version}</version>
<configuration>
<descriptorSourceDirectory>assembly</descriptorSourceDirectory>
<archiverConfig>
<duplicateBehavior>skip</duplicateBehavior>
</archiverConfig>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar.version}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<!-- deploy -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
<plugin>
<!-- just to make sure deployed artifacts are always built (and tested) using JDK 8+ -->
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java</id>
<phase>deploy</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>21</version>
</requireJavaVersion>
<requireMavenVersion>
<version>3.5</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release.version}</version>
<configuration>
<!-- prepare goal configuration -->
<mavenExecutorId>forked-path</mavenExecutorId>
<pushChanges>false</pushChanges>
<autoVersionSubmodules>true</autoVersionSubmodules>
<!-- perform goal configuration -->
<mavenExecutorId>forked-path</mavenExecutorId>
<localCheckout>true</localCheckout>
<releaseProfiles>javadoc,sources,sign</releaseProfiles>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources.version}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>coverage</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>coverage</name>
</property>
</activation>
<modules>
<module>coverage-report</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>-Djava.awt.headless=true ${surefireArgLine}</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent-for-unit-tests</id>
<phase>initialize</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>surefireArgLine</propertyName>
<destFile>${project.build.directory}/jacoco-ut.exec</destFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>integration-test</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>coverage</name>
</property>
</activation>
<build>
<defaultGoal>verify</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>run-integration-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>-Djava.awt.headless=true ${failsafeArgLine}</argLine>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*IntegrationTests.java</include>
<include>**/*IntegrationTest_*.java</include>
<include>**/*IntegrationTests_*.java</include>
</includes>
<excludes>
<exclude>**/*Test.java</exclude>
<exclude>**/*Tests.java</exclude>
<exclude>**/*Test_*.java</exclude>
<exclude>**/*Tests_*.java</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent-for-integration-test</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>failsafeArgLine</propertyName>
<destFile>${project.build.directory}/jacoco-it.exec</destFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sources</id>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc.version}</version>
<executions>
<execution>
<id>attach-javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<doclint>none</doclint>
<!-- These parameters are in preparation for resolution of this issue: -->
<!-- https://bugs.openjdk.java.net/browse/JDK-8068562 -->
<tags>
<tag>
<name>apiNote</name>
<placement>a</placement>
<head>API Note:</head>
</tag>
<tag>
<name>implSpec</name>
<placement>a</placement>
<head>Implementation Requirements:</head>
</tag>
<tag>
<name>implNote</name>
<placement>a</placement>
<head>Implementation Note:</head>
</tag>
</tags>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sign</id>
<build>
<plugins>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<repositories>
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<scm>
<connection>scm:git:git://github.com/AxonIQ/extension-postgresql.git</connection>
<developerConnection>scm:git:git@github.com:AxonIQ/extension-postgresql.git</developerConnection>
<url>https://github.com/AxonIQ/extension-postgresql</url>
<tag>axon-postgresql-0.1.0</tag>
</scm>
<developers>
<developer>
<name>Steven van Beelen</name>
<email>steven.vanbeelen@axoniq.io</email>
<organization>AxonIQ</organization>
<organizationUrl>https://axoniq.io</organizationUrl>
<roles>
<role>Lead Developer</role>
</roles>
</developer>
<developer>
<name>John Hendrikx</name>
</developer>
</developers>
</project>