<?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">
    <parent>
        <artifactId>quarkus-build-parent</artifactId>
        <groupId>io.quarkus</groupId>
        <version>0.25.0</version>
        <relativePath>../build-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>quarkus-extensions-parent</artifactId>
    <name>Quarkus - Extensions - Parent pom</name>
    <packaging>pom</packaging>
    <modules>
        <!-- Plumbing -->
        <module>arc</module>
        <module>scheduler</module>

        <!-- Formats -->
        <module>jackson</module>
        <module>jaxb</module>
        <module>jsonp</module>
        <module>jsonb</module>

        <!-- HTTP -->
        <module>vertx-core</module>
        <module>vertx-http</module>
        <module>undertow</module>
        <module>undertow-websockets</module>

        <!-- Monitoring -->
        <module>smallrye-health</module>
        <module>smallrye-metrics</module>
        <module>smallrye-opentracing</module>
        <module>smallrye-fault-tolerance</module>
        <module>jaeger</module>

        <!-- REST services -->
        <module>resteasy-common</module>
        <module>resteasy-server-common</module>
        <module>resteasy</module>
        <module>resteasy-jsonb</module>
        <module>resteasy-jackson</module>
        <module>resteasy-jaxb</module>
        <module>rest-client</module>
        <module>smallrye-openapi-common</module>
        <module>smallrye-openapi</module>
        <module>swagger-ui</module>

        <!-- Reactive -->
        <module>vertx</module>
        <module>vertx-web</module>
        <module>netty</module>
        <module>reactive-streams-operators</module>
        <module>smallrye-reactive-messaging</module>
        <module>smallrye-reactive-messaging-kafka</module>
        <module>smallrye-reactive-messaging-amqp</module>
        <module>smallrye-reactive-messaging-mqtt</module>
        <module>smallrye-context-propagation</module>
        <module>reactive-pg-client</module>
        <module>reactive-mysql-client</module>
        <module>mailer</module>

        <!-- Data access and validation -->
        <module>narayana-jta</module>
        <module>narayana-stm</module>
        <module>agroal</module>
        <module>jdbc</module>
        <module>hibernate-orm</module>
        <module>hibernate-validator</module>
        <module>panache</module>
        <module>hibernate-search-elasticsearch</module>
        <module>elasticsearch-rest-client</module>
        <module>jgit</module>
        <module>kafka-client</module>
        <module>kafka-streams</module>
        <module>tika</module>
        <module>neo4j</module>
        <module>mongodb-client</module>
        <module>artemis-core</module>
        <module>artemis-jms</module>

        <!-- Spring -->
        <module>spring-di</module>
        <module>spring-web</module>
        <module>spring-data-jpa</module>

        <!-- Security -->
        <module>security</module>
        <module>elytron-security</module>
        <module>elytron-security-properties-file</module>
        <module>elytron-security-oauth2</module>
        <module>smallrye-jwt</module>
        <module>oidc</module>

        <!-- Infinispan -->
        <module>infinispan-client</module>
        <module>infinispan-embedded</module>

        <!-- Caching -->
        <module>caffeine</module>

        <!-- Integrations -->
        <module>amazon-lambda</module>
        <module>amazon-lambda-resteasy</module>
        <module>amazon-dynamodb</module>
        <module>azure-functions-http</module>

        <!-- Additional languages -->
        <module>kotlin</module>
        <module>scala</module>

        <!-- Kubernetes -->
        <module>kubernetes</module>
        <module>kubernetes-client</module>

        <!-- Database migrations -->
        <module>flyway</module>

        <!-- kogito -->
        <module>kogito</module>
        <module>elytron-security-jdbc</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${project.version}</version>
                <inherited>false</inherited>
                <!-- Settings for stubbing new extensions via
                     mvn quarkus:create-extension -N -Dquarkus.artifactIdBase=my-ext -Dquarkus.nameBase="My Extension"
                -->
                <configuration>
                    <artifactIdPrefix>quarkus-</artifactIdPrefix>
                    <namePrefix xml:space="preserve">Quarkus - </namePrefix>
                    <quarkusVersion>@{project.version}</quarkusVersion>
                    <runtimeBomPath>../bom/runtime/pom.xml</runtimeBomPath>
                    <deploymentBomPath>../bom/deployment/pom.xml</deploymentBomPath>
                    <itestParentPath>../integration-tests/pom.xml</itestParentPath>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
