<?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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.camel.quarkus</groupId>
        <artifactId>camel-quarkus-build-parent</artifactId>
        <version>2.11.1-SNAPSHOT</version>
        <relativePath>../poms/build-parent/pom.xml</relativePath>
    </parent>

    <artifactId>camel-quarkus-extensions</artifactId>
    <packaging>pom</packaging>

    <name>Camel Quarkus :: Extensions</name>

    <modules>
        <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
        <module>activemq</module>
        <module>amqp</module>
        <module>arangodb</module>
        <module>as2</module>
        <module>atlasmap</module>
        <module>atom</module>
        <module>attachments</module>
        <module>avro</module>
        <module>avro-rpc</module>
        <module>aws2-athena</module>
        <module>aws2-cw</module>
        <module>aws2-ddb</module>
        <module>aws2-ec2</module>
        <module>aws2-ecs</module>
        <module>aws2-eks</module>
        <module>aws2-eventbridge</module>
        <module>aws2-iam</module>
        <module>aws2-kinesis</module>
        <module>aws2-kms</module>
        <module>aws2-lambda</module>
        <module>aws2-mq</module>
        <module>aws2-msk</module>
        <module>aws2-s3</module>
        <module>aws2-ses</module>
        <module>aws2-sns</module>
        <module>aws2-sqs</module>
        <module>aws2-sts</module>
        <module>aws2-translate</module>
        <module>azure-eventhubs</module>
        <module>azure-storage-blob</module>
        <module>azure-storage-queue</module>
        <module>base64</module>
        <module>bean</module>
        <module>bean-validator</module>
        <module>bindy</module>
        <module>box</module>
        <module>braintree</module>
        <module>browse</module>
        <module>caffeine</module>
        <module>cassandraql</module>
        <module>cbor</module>
        <module>consul</module>
        <module>controlbus</module>
        <module>couchdb</module>
        <module>cron</module>
        <module>crypto</module>
        <module>csimple</module>
        <module>csv</module>
        <module>dataformat</module>
        <module>dataset</module>
        <module>datasonnet</module>
        <module>debezium-mongodb</module>
        <module>debezium-mysql</module>
        <module>debezium-postgres</module>
        <module>debezium-sqlserver</module>
        <module>digitalocean</module>
        <module>direct</module>
        <module>disruptor</module>
        <module>dozer</module>
        <module>dropbox</module>
        <module>elasticsearch-rest</module>
        <module>exec</module>
        <module>fhir</module>
        <module>file</module>
        <module>file-watch</module>
        <module>flatpack</module>
        <module>fop</module>
        <module>freemarker</module>
        <module>ftp</module>
        <module>geocoder</module>
        <module>git</module>
        <module>github</module>
        <module>google-bigquery</module>
        <module>google-calendar</module>
        <module>google-drive</module>
        <module>google-mail</module>
        <module>google-pubsub</module>
        <module>google-sheets</module>
        <module>google-storage</module>
        <module>graphql</module>
        <module>grok</module>
        <module>grpc</module>
        <module>gson</module>
        <module>hazelcast</module>
        <module>headersmap</module>
        <module>hl7</module>
        <module>http</module>
        <module>ical</module>
        <module>infinispan</module>
        <module>influxdb</module>
        <module>jackson</module>
        <module>jackson-avro</module>
        <module>jackson-protobuf</module>
        <module>jacksonxml</module>
        <module>jaxb</module>
        <module>jdbc</module>
        <module>jfr</module>
        <module>jira</module>
        <module>jms</module>
        <module>johnzon</module>
        <module>jolt</module>
        <module>jpa</module>
        <module>jq</module>
        <module>js-dsl</module>
        <module>jsch</module>
        <module>jslt</module>
        <module>json-validator</module>
        <module>jsonata</module>
        <module>jsonb</module>
        <module>jsonpath</module>
        <module>jta</module>
        <module>kafka</module>
        <module>kamelet</module>
        <module>kotlin</module>
        <module>kubernetes</module>
        <module>kudu</module>
        <module>language</module>
        <module>leveldb</module>
        <module>log</module>
        <module>lra</module>
        <module>lumberjack</module>
        <module>lzf</module>
        <module>mail</module>
        <module>master</module>
        <module>micrometer</module>
        <module>microprofile-fault-tolerance</module>
        <module>microprofile-health</module>
        <module>microprofile-metrics</module>
        <module>minio</module>
        <module>mllp</module>
        <module>mock</module>
        <module>mongodb</module>
        <module>mongodb-gridfs</module>
        <module>mustache</module>
        <module>mybatis</module>
        <module>nats</module>
        <module>netty</module>
        <module>netty-http</module>
        <module>nitrite</module>
        <module>oaipmh</module>
        <module>olingo4</module>
        <module>openapi-java</module>
        <module>openstack</module>
        <module>opentelemetry</module>
        <module>opentracing</module>
        <module>optaplanner</module>
        <module>paho</module>
        <module>paho-mqtt5</module>
        <module>pdf</module>
        <module>pg-replication-slot</module>
        <module>pgevent</module>
        <module>platform-http</module>
        <module>protobuf</module>
        <module>pubnub</module>
        <module>quartz</module>
        <module>qute</module>
        <module>rabbitmq</module>
        <module>reactive-streams</module>
        <module>ref</module>
        <module>rest</module>
        <module>rest-openapi</module>
        <module>rss</module>
        <module>saga</module>
        <module>salesforce</module>
        <module>sap-netweaver</module>
        <module>saxon</module>
        <module>scheduler</module>
        <module>seda</module>
        <module>servicenow</module>
        <module>servlet</module>
        <module>shiro</module>
        <module>sjms</module>
        <module>sjms2</module>
        <module>slack</module>
        <module>smallrye-reactive-messaging</module>
        <module>snakeyaml</module>
        <module>soap</module>
        <module>solr</module>
        <module>splunk</module>
        <module>spring-rabbitmq</module>
        <module>sql</module>
        <module>ssh</module>
        <module>stax</module>
        <module>stream</module>
        <module>stringtemplate</module>
        <module>syslog</module>
        <module>tarfile</module>
        <module>telegram</module>
        <module>tika</module>
        <module>timer</module>
        <module>twilio</module>
        <module>twitter</module>
        <module>univocity-parsers</module>
        <module>validator</module>
        <module>velocity</module>
        <module>vertx</module>
        <module>vertx-http</module>
        <module>vertx-websocket</module>
        <module>vm</module>
        <module>weather</module>
        <module>xchange</module>
        <module>xmlsecurity</module>
        <module>xpath</module>
        <module>xslt</module>
        <module>xstream</module>
        <module>zendesk</module>
        <module>zip-deflater</module>
        <module>zipfile</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-bom</artifactId>
                <version>${quarkus.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
