<?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>

    <parent>
        <groupId>org.pragmatica-lite.aether</groupId>
        <artifactId>aether</artifactId>
        <version>1.0.0-rc1</version>
    </parent>

    <artifactId>ember</artifactId>
    <name>Aether Ember</name>
    <description>Embeddable headless Aether cluster runtime</description>

    <dependencies>
        <!-- Aether modules -->
        <dependency>
            <groupId>org.pragmatica-lite.aether</groupId>
            <artifactId>node</artifactId>
        </dependency>
        <dependency>
            <groupId>org.pragmatica-lite</groupId>
            <artifactId>cluster</artifactId>
        </dependency>
        <dependency>
            <groupId>org.pragmatica-lite.aether</groupId>
            <artifactId>environment-integration</artifactId>
        </dependency>

        <!-- Pragmatica -->
        <dependency>
            <groupId>org.pragmatica-lite</groupId>
            <artifactId>core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.pragmatica-lite</groupId>
            <artifactId>toml</artifactId>
        </dependency>

        <!-- Resource: JDBC Database Connector (ServiceLoader provider) -->
        <dependency>
            <groupId>org.pragmatica-lite.aether</groupId>
            <artifactId>resource-db-jdbc</artifactId>
        </dependency>

        <!-- HikariCP (optional in resource-db-jdbc, required at runtime) -->
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>7.0.2</version>
        </dependency>

        <!-- H2 Database (embedded mode) -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>2.4.240</version>
        </dependency>

        <!-- PostgreSQL JDBC Driver -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.7.5</version>
        </dependency>

        <!-- Resource: R2DBC Database Connector (ServiceLoader provider) -->
        <dependency>
            <groupId>org.pragmatica-lite.aether</groupId>
            <artifactId>resource-db-r2dbc</artifactId>
        </dependency>

        <!-- Resource: Async Database Connector (ServiceLoader provider) -->
        <dependency>
            <groupId>org.pragmatica-lite.aether</groupId>
            <artifactId>resource-db-async</artifactId>
        </dependency>

        <!-- R2DBC Pool (optional in resource-db-r2dbc, required at runtime) -->
        <dependency>
            <groupId>io.r2dbc</groupId>
            <artifactId>r2dbc-pool</artifactId>
        </dependency>

        <!-- PostgreSQL R2DBC Driver -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>r2dbc-postgresql</artifactId>
            <version>1.0.7.RELEASE</version>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>

        <!-- Testing -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
        </dependency>
    </dependencies>
</project>
