<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.coreoz</groupId>
        <artifactId>plume-parent</artifactId>
        <version>5.0.0</version>
    </parent>

    <artifactId>plume-framework-dependencies</artifactId>
    <packaging>pom</packaging>
    <name>Plume Base Dependencies</name>
    <description>Gather versions of various libraries used by Plume</description>

    <properties>
        <wisp.version>2.5.0</wisp.version>
        <cron.version>1.6.2</cron.version>
        <guice.version>7.0.0</guice.version>
        <dagger.version>2.52</dagger.version>
        <guava.version>33.3.1-jre</guava.version>
        <jakarta-inject.version>2.0.1</jakarta-inject.version>
        <lombok.version>1.18.34</lombok.version>
        <logback.version>1.5.10</logback.version>
        <slf4j.version>2.0.16</slf4j.version>
        <config.version>1.4.3</config.version>
        <simple-java-mail.version>8.12.2</simple-java-mail.version>
        <hikaricp.version>6.0.0</hikaricp.version>
        <querydsl.version>5.1.0</querydsl.version>
        <flyway.version>10.19.0</flyway.version>
        <h2.version>2.3.232</h2.version>
        <jackson.version>2.18.0</jackson.version>
        <jersey.version>3.0.17</jersey.version>
        <swagger.version>2.2.23</swagger.version>
        <hk2-guice-bridge.version>3.1.1</hk2-guice-bridge.version>
        <commons-validator.version>1.9.0</commons-validator.version>
        <jakarta-annotation.version>3.0.0</jakarta-annotation.version>
        <jakarta-servlet.version>6.1.0</jakarta-servlet.version>
        <dropwizard-metrics.version>4.2.28</dropwizard-metrics.version>
        <classgraph.version>4.8.177</classgraph.version>
        <maven-model.version>3.9.9</maven-model.version>
        <throwing-function.version>1.5.1</throwing-function.version>

        <junit.version>5.11.3</junit.version>
        <assertj.version>3.26.3</assertj.version>
        <mockito.version>5.14.2</mockito.version>
        <guice-junit.version>1.0.1</guice-junit.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-services</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-conf</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-mail</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-scheduler</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-test</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-db</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-db-querydsl</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-db-querydsl-codegen</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-db-test</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-web-jersey</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>plume-web-jersey-monitoring</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>wisp</artifactId>
                <version>${wisp.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.eitchnet</groupId>
                <artifactId>cron</artifactId>
                <version>${cron.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject</artifactId>
                <version>${jakarta-inject.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.dagger</groupId>
                <artifactId>dagger</artifactId>
                <version>${dagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.dagger</groupId>
                <artifactId>dagger-compiler</artifactId>
                <version>${dagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <dependency>
                <groupId>com.pivovarit</groupId>
                <artifactId>throwing-function</artifactId>
                <version>${throwing-function.version}</version>
            </dependency>
            <dependency>
                <groupId>com.typesafe</groupId>
                <artifactId>config</artifactId>
                <version>${config.version}</version>
            </dependency>
            <dependency>
                <groupId>org.simplejavamail</groupId>
                <artifactId>simple-java-mail</artifactId>
                <version>${simple-java-mail.version}</version>
            </dependency>
            <dependency>
                <groupId>org.simplejavamail</groupId>
                <artifactId>batch-module</artifactId>
                <version>${simple-java-mail.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${hikaricp.version}</version>
            </dependency>
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-sql</artifactId>
                <version>${querydsl.version}</version>
            </dependency>
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-sql-codegen</artifactId>
                <version>${querydsl.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-mysql</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-sqlserver</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-database-postgresql</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-database-oracle</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <!-- jackson -->
            <dependency>
                <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
                <artifactId>jackson-jakarta-rs-json-provider</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- Jersey -->
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <artifactId>jersey-container-servlet</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <artifactId>jersey-container-servlet-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.media</groupId>
                <artifactId>jersey-media-multipart</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.media</groupId>
                <artifactId>jersey-media-json-jackson</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.inject</groupId>
                <artifactId>jersey-hk2</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <artifactId>jersey-container-grizzly2-http</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.test-framework</groupId>
                <artifactId>jersey-test-framework-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.test-framework.providers</groupId>
                <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
				<artifactId>swagger-annotations-jakarta</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
				<artifactId>swagger-jaxrs2-jakarta</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>guice-bridge</artifactId>
                <version>${hk2-guice-bridge.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-validator</groupId>
                <artifactId>commons-validator</artifactId>
                <version>${commons-validator.version}</version>
            </dependency>
            <!-- Jakarta dependencies -->
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta-annotation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${jakarta-servlet.version}</version>
            </dependency>

            <!-- metrics -->
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-jvm</artifactId>
                <version>${dropwizard-metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-json</artifactId>
                <version>${dropwizard-metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-healthchecks</artifactId>
                <version>${dropwizard-metrics.version}</version>
            </dependency>

            <!-- Pom.xml reader -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>${maven-model.version}</version>
            </dependency>

            <!-- Resource reader -->
            <dependency>
                <groupId>io.github.classgraph</groupId>
                <artifactId>classgraph</artifactId>
                <version>${classgraph.version}</version>
            </dependency>

            <!-- Tests -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>com.coreoz</groupId>
                <artifactId>guice-junit</artifactId>
                <version>${guice-junit.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

