<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--

    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">
    <parent>
        <artifactId>camel-parent</artifactId>
        <groupId>org.apache.camel</groupId>
        <version>3.9.0</version>
        <relativePath>../parent</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>test-infra</artifactId>
    <packaging>pom</packaging>
    <name>Camel :: Test Infra</name>
    <description>Test infrastructure for Camel</description>

    <modules>
        <module>camel-test-infra-common</module>
        <module>camel-test-infra-kafka</module>
        <module>camel-test-infra-parent</module>
        <module>camel-test-infra-aws-common</module>
        <module>camel-test-infra-aws-v2</module>
        <module>camel-test-infra-cassandra</module>
        <module>camel-test-infra-elasticsearch</module>
        <module>camel-test-infra-couchbase</module>
        <module>camel-test-infra-mongodb</module>
        <module>camel-test-infra-rabbitmq</module>
        <module>camel-test-infra-azure-common</module>
        <module>camel-test-infra-azure-storage-blob</module>
        <module>camel-test-infra-azure-storage-datalake</module>
        <module>camel-test-infra-azure-storage-queue</module>
        <module>camel-test-infra-messaging-common</module>
        <module>camel-test-infra-artemis</module>
        <module>camel-test-infra-dispatch-router</module>
        <module>camel-test-infra-hdfs</module>
        <module>camel-test-infra-jdbc</module>
        <module>camel-test-infra-arangodb</module>
        <module>camel-test-infra-consul</module>
        <module>camel-test-infra-google-pubsub</module>
        <module>camel-test-infra-etcd</module>
        <module>camel-test-infra-hbase</module>
        <module>camel-test-infra-infinispan</module>
        <module>camel-test-infra-minio</module>
        <module>camel-test-infra-nats</module>
        <module>camel-test-infra-nsq</module>
        <module>camel-test-infra-pulsar</module>
        <module>camel-test-infra-redis</module>
        <module>camel-test-infra-xmpp</module>
        <module>camel-test-infra-zookeeper</module>
        <module>camel-test-infra-postgres</module>
        <module>camel-test-infra-couchdb</module>
        <module>camel-test-infra-ftp</module>
        <module>camel-test-infra-fhir</module>
        <module>camel-test-infra-mosquitto</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>net.revelc.code.formatter</groupId>
                <artifactId>formatter-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
