<?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.0.7</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}</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>${skipTests}</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>
                            <skip>false</skip>
                            <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>
                            <skip>false</skip>
                            <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>
                            <skip>false</skip>
                            <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>
                            <skip>false</skip>
                            <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>
                            <skip>false</skip>
                            <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>
                            <skip>false</skip>
                            <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>
