<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2023. Roland T. Lichti, Kaiserpfalz EDV-Service.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
-->

<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>de.kaiserpfalz-edv.commons</groupId>
        <artifactId>kp-commons-core-root</artifactId>
        <version>4.0.2</version>
    </parent>

    <artifactId>kp-commons-api</artifactId>
    <name>${project.artifactId}</name>
    <description>The services used by almost all role playing systems.</description>

    <properties>
        <uml-classes>de.kaiserpfalzedv.commons.api</uml-classes>
        <main.basedir>${project.basedir}/../..</main.basedir>
    </properties>

    <dependencies>
        <dependency>
            <groupId>jakarta.inject</groupId>
            <artifactId>jakarta.inject-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.semver4j</groupId>
            <artifactId>semver4j</artifactId>
        </dependency>

        <dependency>
            <groupId>org.eclipse.microprofile.openapi</groupId>
            <artifactId>microprofile-openapi-api</artifactId>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.17.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.17.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.17.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.17.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>com.iluwatar.urm</groupId>
                <artifactId>urm-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>i18n</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/i18n</outputDirectory>
                            <packages>
                                <param>${uml-classes}.i18n</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>libravatar</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/libravatar</outputDirectory>
                            <packages>
                                <param>${uml-classes}.libravatar</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>observability</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/observability</outputDirectory>
                            <packages>
                                <param>${uml-classes}.observability</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>resources</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/resources</outputDirectory>
                            <packages>
                                <param>${uml-classes}.resources</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>store</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/store</outputDirectory>
                            <packages>
                                <param>${uml-classes}.store</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>user</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/user</outputDirectory>
                            <packages>
                                <param>${uml-classes}.user</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>vaadin</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/vaadin</outputDirectory>
                            <packages>
                                <param>${uml-classes}.vaadin</param>
                            </packages>
                        </configuration>
                    </execution>
                    <execution>
                        <?m2e execute onConfiguration,onIncremental?>
                        <id>workflow</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>map</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/target/uml/workflow</outputDirectory>
                            <packages>
                                <param>${uml-classes}.workflow</param>
                            </packages>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>properties-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>com.github.jeluard</groupId>
                <artifactId>plantuml-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
