<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

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

    <groupId>net.microfalx.bom</groupId>
    <artifactId>bom-spring</artifactId>
    <version>1.0.9</version>

    <parent>
        <groupId>net.microfalx.bom</groupId>
        <artifactId>bom</artifactId>
        <version>1.0.9</version>
    </parent>

    <name>BOM :: Spring</name>

    <properties>

        <!-- Tests -->


        <!-- Runtime -->

        <apache.pulsar.version>4.0.1</apache.pulsar.version>
        <apache.activemq.version>2.39.0</apache.activemq.version>
        <opentelemetry.version>1.45.0</opentelemetry.version>
        <prometheus.metrics.version>1.3.5</prometheus.metrics.version>
        <rest-assured.version>5.5.0</rest-assured.version>
        <rsocket.version>1.1.4</rsocket.version>
        <jetty.version>12.0.16</jetty.version>
        <jetty-ee10.version>12.0.16</jetty-ee10.version>
        <jersey.version>3.1.9</jersey.version>
        <infinispan.version>15.1.3.Final</infinispan.version>
        <kotlin.version>2.1.0</kotlin.version>
        <kotlin.coroutines.version>1.10.1</kotlin.coroutines.version>
        <kotlin.serialization.version>1.7.3</kotlin.serialization.version>
        <graphql-java.version>22.3</graphql-java.version>
        <spring.boot.version>3.4.1</spring.boot.version>

    </properties>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>net.microfalx.bom</groupId>
                <artifactId>bom-base</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured-bom</artifactId>
                <version>${rest-assured.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.opentelemetry</groupId>
                <artifactId>opentelemetry-bom</artifactId>
                <version>${opentelemetry.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>prometheus-metrics-bom</artifactId>
                <version>${prometheus.metrics.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.pulsar</groupId>
                <artifactId>pulsar-bom</artifactId>
                <version>${apache.pulsar.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>artemis-bom</artifactId>
                <version>${apache.activemq.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-bom</artifactId>
                <version>${jetty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty.ee10</groupId>
                <artifactId>jetty-ee10-bom</artifactId>
                <version>${jetty-ee10.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-bom</artifactId>
                <version>${infinispan.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-bom</artifactId>
                <version>${kotlin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jetbrains.kotlinx</groupId>
                <artifactId>kotlinx-coroutines-bom</artifactId>
                <version>${kotlin.coroutines.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jetbrains.kotlinx</groupId>
                <artifactId>kotlinx-serialization-bom</artifactId>
                <version>${kotlin.serialization.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.rsocket</groupId>
                <artifactId>rsocket-bom</artifactId>
                <version>${rsocket.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Selenium Grid needs an older version -->
            <dependency>
                <groupId>com.graphql-java</groupId>
                <artifactId>graphql-java</artifactId>
                <version>${graphql-java.version}</version>
            </dependency>

            <!-- Spring Boot -->

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.github.jpenren</groupId>
                <artifactId>thymeleaf-spring-data-dialect</artifactId>
                <version>3.6.0</version>
            </dependency>

            <dependency>
                <groupId>nz.net.ultraq.thymeleaf</groupId>
                <artifactId>thymeleaf-layout-dialect</artifactId>
                <version> 3.3.0</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>