<?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>1.0.0-M5</version>
        <relativePath>../poms/build-parent/pom.xml</relativePath>
    </parent>

    <artifactId>camel-quarkus-integration-tests</artifactId>
    <packaging>pom</packaging>

    <name>Camel Quarkus :: Integration Tests</name>

    <properties>
        <activemq-version>5.15.11</activemq-version>
        <ftpserver.version>1.1.1</ftpserver.version>
        <sshd.version>2.3.0</sshd.version>
        <testcontainers.version>1.12.5</testcontainers.version>
        <mock-javamail.version>1.9</mock-javamail.version>

        <quarkus.banner.enabled>false</quarkus.banner.enabled>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-test-support-core-ext</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-test-support-core-main-ext</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-test-support-core-main-collector-ext</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-test-support-custom-dataformat</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-test-support</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.quarkus</groupId>
                <artifactId>camel-quarkus-integration-testcontainers-support</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-core-deployment</artifactId>
                <version>${quarkus.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-kahadb-store</artifactId>
                <version>${activemq-version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.ftpserver</groupId>
                <artifactId>ftpserver-core</artifactId>
                <version>${ftpserver.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ftpserver</groupId>
                <artifactId>ftplet-api</artifactId>
                <version>${ftpserver.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.sshd</groupId>
                <artifactId>sshd-sftp</artifactId>
                <version>${sshd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.sshd</groupId>
                <artifactId>sshd-scp</artifactId>
                <version>${sshd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${testcontainers.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>kafka</artifactId>
                <version>${testcontainers.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jvnet.mock-javamail</groupId>
                <artifactId>mock-javamail</artifactId>
                <version>${mock-javamail.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.apache.camel.quarkus</groupId>
            <artifactId>camel-quarkus-support-policy</artifactId><!-- enforce the policy in all tests -->
        </dependency>
    </dependencies>

    <modules>
        <!-- build those first -->
        <module>support</module>
        <module>core</module>
        <module>core-main</module>
        <module>core-main-xml-jaxb</module>
        <module>core-main-xml-io</module>
        <module>core-main-collector</module>
        <module>core-impl</module>

        <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
        <module>activemq</module>
        <module>aws</module>
        <module>azure</module>
        <module>base64</module>
        <module>bean</module>
        <module>bean-validator</module>
        <module>bindy</module>
        <module>box</module>
        <module>braintree</module>
        <module>compression</module>
        <module>consul</module>
        <module>controlbus</module>
        <module>csv</module>
        <module>dataformat</module>
        <module>dataformats-json</module>
        <module>dozer</module>
        <module>exec</module>
        <module>fhir</module>
        <module>file</module>
        <module>ftp</module>
        <module>graphql</module>
        <module>http</module>
        <module>hystrix</module>
        <module>infinispan</module>
        <module>jaxb</module>
        <module>jdbc</module>
        <module>jira</module>
        <module>jsonpath</module>
        <module>kafka</module>
        <module>mail</module>
        <module>messaging</module>
        <module>microprofile</module>
        <module>mongodb</module>
        <module>mustache</module>
        <module>netty</module>
        <module>olingo4</module>
        <module>opentracing</module>
        <module>pdf</module>
        <module>platform-http</module>
        <module>platform-http-engine</module>
        <module>reactive-streams</module>
        <module>ref</module>
        <module>salesforce</module>
        <module>scheduler</module>
        <module>seda</module>
        <module>servlet</module>
        <module>slack</module>
        <module>sql</module>
        <module>stream</module>
        <module>tarfile</module>
        <module>telegram</module>
        <module>twitter</module>
        <module>validator</module>
        <module>websocket-jsr356</module>
        <module>xml</module>
        <module>xstream</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>io.quarkus</groupId>
                    <artifactId>quarkus-maven-plugin</artifactId>
                    <version>${quarkus.version}</version>
                    <configuration>
                        <!-- this is needed to make hot-reload working in multi-module projects-->
                        <noDeps>true</noDeps>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <systemProperties>
                            <quarkus.http.test-port>${test.http.port.jvm}</quarkus.http.test-port>
                        </systemProperties>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <executions>
                        <execution>
                            <configuration>
                                <systemProperties>
                                    <quarkus.http.test-port>${test.http.port.native}</quarkus.http.test-port>
                                </systemProperties>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>${build-helper-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>reserve-network-port</id>
                        <goals>
                            <goal>reserve-network-port</goal>
                        </goals>
                        <phase>process-resources</phase>
                        <configuration>
                            <portNames>
                                <portName>test.http.port.jvm</portName>
                                <portName>test.http.port.native</portName>
                            </portNames>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
