<?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>net.morimekta.utils</groupId>
        <artifactId>pom</artifactId>
        <version>4.2.8</version>
        <relativePath>../utils-pom/pom.xml</relativePath>
    </parent>
    <groupId>net.morimekta.tiny.server</groupId>
    <artifactId>tiny-server</artifactId>
    <version>0.2.0</version>
    <packaging>jar</packaging>

    <name>Tiny Server</name>
    <description>
        A tiny server starter for easy and minimal microservice handling. This is based on the
        assumption that the microservice does not use the admin HTTP server for anything but
        kubernetes status management and metrics (using prometheus).

        Dependencies are kept at a minimum, but should cover the basic needs of any microservice.
    </description>
    <url>https://gitlab.com/morimekta/tiny-server</url>

    <scm>
        <url>https://gitlab.com/morimekta/tiny-server.git</url>
        <developerConnection>scm:git:ssh://git@gitlab.com/morimekta/tiny-server.git</developerConnection>
        <tag>v0.2.0</tag>
    </scm>

    <dependencies>
        <dependency>
            <groupId>net.morimekta.utils</groupId>
            <artifactId>terminal</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>net.morimekta.utils</groupId>
            <artifactId>collect</artifactId>
            <version>4.4.1</version>
        </dependency>
        <dependency>
            <groupId>net.morimekta.utils</groupId>
            <artifactId>file</artifactId>
            <version>4.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>2.0.6</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.4.5</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.14.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.14.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.14.2</version>
        </dependency>

        <!--
         Note on prometheus:

         These libraries do not have declared module names, not even "Automatic-Module-Name", which
         kinda breaks jigsaw modules. This library in that regard should only be used in fat-jar
         or module-less libraries.
         -->
        <dependency>
            <groupId>io.prometheus</groupId>
            <artifactId>simpleclient</artifactId>
            <version>0.16.0</version>
        </dependency>
        <dependency>
            <groupId>io.prometheus</groupId>
            <artifactId>simpleclient_common</artifactId>
            <version>0.16.0</version>
        </dependency>

        <!-- testing dependencies -->
        <dependency>
            <groupId>net.morimekta.utils</groupId>
            <artifactId>testing</artifactId>
            <version>5.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>2.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.9.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>5.1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>5.1.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
