<?xml version="1.0"?>
<!--
  ~ 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.qpid</groupId>
        <artifactId>qpid-systests-parent</artifactId>
        <version>7.1.11</version>
        <relativePath>../../qpid-systests-parent/pom.xml</relativePath>
    </parent>

    <artifactId>qpid-systests-end-to-end-conversion-tests</artifactId>
    <name>Apache Qpid Broker-J End to End Conversion Tests</name>
    <description>End to end conversion tests</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <amqp10ClientGavs>org.apache.qpid:qpid-jms-client:${qpid-jms-client-version},org.slf4j:slf4j-simple:${slf4j-version}</amqp10ClientGavs>
        <amqp0xClientGavs>org.apache.qpid:qpid-client:${qpid-jms-client-amqp-0-x-version},org.apache.geronimo.specs:geronimo-jms_1.1_spec:${geronimo-jms-1-1-version},org.slf4j:slf4j-simple:${slf4j-version},javax.xml.bind:jaxb-api:${jaxb-api-version},org.glassfish.jaxb:jaxb-runtime:${jaxb-api-version}</amqp0xClientGavs>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.qpid</groupId>
            <artifactId>qpid-broker</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.resolver</groupId>
            <artifactId>maven-resolver-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.resolver</groupId>
            <artifactId>maven-resolver-connector-basic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.resolver</groupId>
            <artifactId>maven-resolver-transport-file</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.resolver</groupId>
            <artifactId>maven-resolver-transport-http</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.qpid</groupId>
            <artifactId>qpid-systests-utils</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>${skipITs}</skipTests>
                    <workingDirectory>${project.basedir}</workingDirectory>
                    <systemPropertyVariables>
                        <qpid.initialConfigurationLocation>classpath:config-end-to-end-conversion-tests.json</qpid.initialConfigurationLocation>
                        <qpid.systests.end_to_end_conversion.localRepository>${settings.localRepository}</qpid.systests.end_to_end_conversion.localRepository>
                        <qpid.systests.end_to_end_conversion.remoteRepository>https://repo.maven.apache.org/maven2/</qpid.systests.end_to_end_conversion.remoteRepository>
                    </systemPropertyVariables>
                </configuration>
                <executions>
                    <execution>
                        <id>0-9-1 -&gt; 1.0</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>0-9-1_to_1.0</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>-Dqpid.amqp.version=0-9-1</qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp10ClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments />
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>1.0 -&gt; 0-9-1</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>1.0_to_0-9-1</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp10ClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments />
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>-Dqpid.amqp.version=0-9-1</qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>0-10 -&gt; 1.0</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>0-10_to_1.0</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>-Dqpid.amqp.version=0-10</qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp10ClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments />
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>1.0 -&gt; 0-10</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>1.0_to_0-10</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp10ClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments />
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>-Dqpid.amqp.version=0-10</qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>0-9-1 -&gt; 0-10</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>0-9-1_to_0-10</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>-Dqpid.amqp.version=0-9-1</qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>-Dqpid.amqp.version=0-10</qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>0-10 -&gt; 0-9-1</id>
                        <configuration>
                            <skipTests>${skipITs}</skipTests>
                            <systemPropertyVariables>
                                <qpid.systests.end_to_end_conversion.executionId>0-10_to_0-9-1</qpid.systests.end_to_end_conversion.executionId>
                                <qpid.systests.end_to_end_conversion.publisherGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.publisherGavs>
                                <qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>-Dqpid.amqp.version=0-10</qpid.systests.end_to_end_conversion.publisherAdditionalJavaArguments>
                                <qpid.systests.end_to_end_conversion.subscriberGavs>${amqp0xClientGavs}</qpid.systests.end_to_end_conversion.subscriberGavs>
                                <qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>-Dqpid.amqp.version=0-9-1</qpid.systests.end_to_end_conversion.subscriberAdditionalJavaArguments>
                            </systemPropertyVariables>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


</project>
