<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>quarkus-build-parent</artifactId>
        <groupId>io.quarkus</groupId>
        <version>1.4.2.Final</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>
        <module>quartz</module>

        <!-- Configuration -->
        <module>config-yaml</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>resteasy-mutiny</module>
        <module>resteasy-qute</module>
        <module>rest-client</module>
        <module>rest-client-jackson</module>
        <module>rest-client-jsonb</module>
        <module>rest-client-jaxb</module>
        <module>smallrye-openapi-common</module>
        <module>smallrye-openapi</module>
        <module>swagger-ui</module>

        <!-- Reactive -->
        <module>mutiny</module>
        <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-datasource</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>datasource</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>jsch</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>
        <module>spring-security</module>
        <module>spring-boot-properties</module>
        <module>spring-cloud-config-client</module>

        <!-- Security -->
        <module>security</module>
        <module>security-jpa</module>
        <module>elytron-security-common</module>
        <module>elytron-security</module>
        <module>elytron-security-jdbc</module>
        <module>elytron-security-ldap</module>
        <module>elytron-security-properties-file</module>
        <module>elytron-security-oauth2</module>
        <module>smallrye-jwt</module>
        <module>oidc</module>
        <module>keycloak-authorization</module>
        <module>keycloak-admin-client</module>

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

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

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

        <!-- New Frameworks -->
        <module>funqy/funqy-server-common</module>
        <module>funqy/funqy-http</module>
        <module>funqy/funqy-knative</module>
        <module>funqy/funqy-amazon-lambda</module>

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

        <!-- Kubernetes -->
        <module>container-image</module>
        <module>kubernetes</module>
        <module>kubernetes-client</module>
        <module>kubernetes-config</module>

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

        <!-- Business automation -->
        <module>optaplanner</module>
        <module>optaplanner-jackson</module>
        <module>optaplanner-jsonb</module>

        <!-- vault -->
        <module>vault</module>
        <module>vertx-graphql</module>

        <!-- Logging -->
        <module>logging-json</module>
        <module>logging-sentry</module>
        <module>logging-gelf</module>

        <!-- Templating -->
        <module>qute</module>
    </modules>

    <!-- Unfortunately the config below introduces a build dependency on the maven plugin
         which leads to an ordering that prevents the tooling to include the generated
         JSON platform descriptor.
         Hopefully, this can be re-enabled once we refactor the tools.
    <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>
