blob: 1aa1f41fb33a6e5f8443a20adf4001b01f0eaab7 [file] [log] [blame]
<?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">
<parent>
<artifactId>qpid-broker-parent</artifactId>
<groupId>org.apache.qpid</groupId>
<version>8.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>qpid-tck</artifactId>
<name>Apache Qpid Broker-J JMS TCK Configuration</name>
<description>Configuration for Oracle JMS TCK</description>
<properties>
<tck.broker-hostport>localhost:5672</tck.broker-hostport>
<tck.broker-virtualhostnode>default</tck.broker-virtualhostnode>
<tck.broker-virtualhost>default</tck.broker-virtualhost>
<tck.management-url>http://localhost:8080</tck.management-url>
<tck.management-username>guest</tck.management-username>
<tck.management-password>guest</tck.management-password>
<tck.management-api-queue>/api/latest/queue/%s/%s/%s</tck.management-api-queue>
<tck.management-api-topic>/api/latest/exchange/%s/%s/%s</tck.management-api-topic>
<tck.jmsobjects.class>com.sun.ts.lib.implementation.sun.jms.SunRIJMSObjects</tck.jmsobjects.class>
<tck.work.directory>${project.build.directory}${file.separator}${tck}${file.separator}work</tck.work.directory>
<tck.ts.jte>${project.build.testOutputDirectory}${file.separator}ts.jte</tck.ts.jte>
<tck.ts.jtx>${tck.directory}${file.separator}bin${file.separator}ts.jtx</tck.ts.jtx>
<tck.test>com/</tck.test>
</properties>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>output-test-properties</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo>
TCK: To run all TCK tests, set system property -Dtck to a name of a JMS client e.g. qpid-jms-client
and set -Dtck.directory to the location of the exploded TCK distribution.
To run all tests from a single class, use the system property -Dtck.test to specify the test source:
e.g. -Dtck.test=com/sun/ts/tests/jms/ee/all/sessiontests/SessionTests.java
To run only a single test, append the test name:
e.g. -Dtck.test=com/sun/ts/tests/jms/ee/all/sessiontests/SessionTests.java#InvalidDestinationTests_from_standalone
JMS2.0 TCK: To run all JMS2.0 TCK tests set profile to jms20-tck and
set -Dtck.directory to the location of the exploded TCK distribution
For example,
mvn post-integration-test -Pjms20-tck -Dtck.directory=/home/alex/tck/jmstck20
To run only a single test, append the test name:
e.g. -Dtck.test=com/sun/ts/tests/jms/core20/runtimeexceptiontests/Client.java#transactionRolledBackRuntimeExceptionTest3_from_standalone
</echo>
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>${*}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
</testResource>
</testResources>
</build>
<profiles>
<!--
Profile to run jms 2.0 tck tests.
Requires setting of -Dtck.directory
-->
<profile>
<id>jms20-tck</id>
<properties>
<java.naming.factory.initial>org.apache.qpid.jms.jndi.JmsInitialContextFactory</java.naming.factory.initial>
<java.naming.provider.url>${project.build.testOutputDirectory}${file.separator}qpid-jms20-client${file.separator}jndi.properties</java.naming.provider.url>
<tck2.work.directory>${project.build.directory}${file.separator}tck2${file.separator}work</tck2.work.directory>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>tsharness</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/tsharness.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>javatest</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/javatest.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>jmstck</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/jmstck.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>jaxen-core</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/jaxen-core.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>jaxen-jdom</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/jaxen-jdom.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>saxpath</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/saxpath.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>jdom</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/jdom.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>api-check</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/apiCheck.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>ant-contrib</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/ant-contrib.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>ant_sun</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/ant_sun.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>sigtest</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/sigtest.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck2</groupId>
<artifactId>ant</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/tools/ant/lib/ant.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>make-directories</id>
<phase>integration-test</phase>
<configuration>
<tasks>
<delete dir="${tck2.work.directory}" />
<mkdir dir="${tck2.work.directory}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<outputProperty>tck.full.classpath</outputProperty>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>create-jms20-resources</id>
<goals>
<goal>java</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>org.apache.qpid.tck.ManageQpidJMSResources</mainClass>
<systemProperties>
<systemProperty>
<key>tck.management-url</key>
<value>${tck.management-url}</value>
</systemProperty>
<systemProperty>
<key>tck.management-username</key>
<value>${tck.management-username}</value>
</systemProperty>
<systemProperty>
<key>tck.management-password</key>
<value>${tck.management-password}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-queue</key>
<value>${tck.management-api-queue}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-topic</key>
<value>${tck.management-api-topic}</value>
</systemProperty>
</systemProperties>
</configuration>
</execution>
<execution>
<id>delete-jms20-resources</id>
<goals>
<goal>java</goal>
</goals>
<phase>post-integration-test</phase>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>org.apache.qpid.tck.ManageQpidJMSResources</mainClass>
<arguments><argument>--delete</argument></arguments>
<systemProperties>
<systemProperty>
<key>tck.management-url</key>
<value>${tck.management-url}</value>
</systemProperty>
<systemProperty>
<key>tck.management-username</key>
<value>${tck.management-username}</value>
</systemProperty>
<systemProperty>
<key>tck.management-password</key>
<value>${tck.management-password}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-queue</key>
<value>${tck.management-api-queue}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-topic</key>
<value>${tck.management-api-topic}</value>
</systemProperty>
</systemProperties>
</configuration>
</execution>
<execution>
<id>run-tck20</id>
<goals>
<goal>exec</goal>
</goals>
<phase>integration-test</phase>
<configuration>
<classpathScope>system</classpathScope>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>-Dcts.harness.debug=false</argument>
<argument>-Dcts.jtroutput=true</argument>
<argument>-Dbuild.level=1</argument>
<argument>-DTS_HOME=${tck.directory}</argument>
<argument>-Djavatest.security.allowPropertiesAccess=true</argument>
<argument>-Dtechnology.name=JMS</argument>
<argument>-Ddeliverable.class=com.sun.ts.lib.deliverable.jms.JMSDeliverable</argument>
<!-- This is the classpath used by the JVM spawned by com.sun.javatest.tool.Main to run each individual test -->
<argument>-DLOCAL_CLASSES=${tck.full.classpath}${path.separator}${project.build.directory}${file.separator}${project.build.finalName}.jar</argument>
<argument>-DJAVA_HOME=${java.home}</argument>
<argument>com.sun.javatest.tool.Main</argument>
<argument>-EsysProps</argument>
<argument>-batch</argument>
<argument>-testsuite</argument><argument>${tck.directory}${file.separator}src</argument>
<argument>-workDirectory</argument><argument>${tck2.work.directory}</argument>
<argument>-envFiles</argument><argument>${tck.ts.jte}</argument>
<argument>-env</argument><argument>ts_unix</argument>
<argument>-excludeList</argument><argument>${tck.ts.jtx}</argument>
<argument>-tests</argument> <argument>${tck.test}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tck</id>
<activation>
<property>
<name>tck</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>oracle-jms-tck</groupId>
<artifactId>tsharness</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/tsharness.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck</groupId>
<artifactId>javatest</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/javatest.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck</groupId>
<artifactId>jmstck</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/jmstck.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck</groupId>
<artifactId>api-check</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/apiCheck.jar</systemPath>
</dependency>
<dependency>
<groupId>oracle-jms-tck</groupId>
<artifactId>parser</artifactId>
<version>0</version>
<scope>system</scope>
<systemPath>${tck.directory}/lib/parser.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>tck</property>
<regex>^(qpid-jms-client)|(jms-client-0-9)|(jms-client-0-10)$</regex>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>make-directories</id>
<phase>integration-test</phase>
<configuration>
<tasks>
<delete dir="${tck.work.directory}" />
<mkdir dir="${tck.work.directory}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<outputProperty>tck.full.classpath</outputProperty>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>run-tck</id>
<goals>
<goal>exec</goal>
</goals>
<phase>integration-test</phase>
<configuration>
<classpathScope>system</classpathScope>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>-Dcts.harness.debug=false</argument>
<argument>-Dcts.jtroutput=true</argument>
<argument>-Dbuild.level=1</argument>
<argument>-DTS_HOME=${tck.directory}</argument>
<argument>-Djavatest.security.allowPropertiesAccess=true</argument>
<argument>-Dtechnology.name=JMS</argument>
<argument>-Ddeliverable.class=com.sun.ts.lib.deliverable.jms.JMSDeliverable</argument>
<!-- This is the classpath used by the JVM spawned by com.sun.javatest.tool.Main to run each individual test -->
<argument>-DLOCAL_CLASSES=${tck.full.classpath}${path.separator}${project.build.directory}${file.separator}${project.build.finalName}.jar</argument>
<argument>-DJAVA_OPTIONS=${tck.test.options}</argument>
<argument>-DJAVA_HOME=${java.home}</argument>
<argument>com.sun.javatest.tool.Main</argument>
<argument>-EsysProps</argument>
<argument>-batch</argument>
<argument>-testsuite</argument><argument>${tck.directory}${file.separator}src</argument>
<argument>-workDirectory</argument><argument>${tck.work.directory}</argument>
<argument>-envFiles</argument><argument>${tck.ts.jte}</argument>
<argument>-env</argument><argument>ts_unix</argument>
<argument>-excludeList</argument><argument>${tck.ts.jtx}</argument>
<argument>-tests</argument> <argument>${tck.test}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>addJms11IfNecessary</id>
<activation>
<property>
<name>tck</name>
<value>!qpid-jms-client</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<!-- Profile used to execute TCK against the Qpid JMS client -->
<id>qpid-jms-client</id>
<activation>
<property>
<name>tck</name>
<value>qpid-jms-client</value>
</property>
</activation>
<properties>
<java.naming.factory.initial>org.apache.qpid.jms.jndi.JmsInitialContextFactory</java.naming.factory.initial>
<java.naming.provider.url>${project.build.testOutputDirectory}${file.separator}qpid-jms-client${file.separator}jndi.properties</java.naming.provider.url>
<tck.test.options />
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>create-jms-resources</id>
<goals>
<goal>java</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>org.apache.qpid.tck.ManageQpidJMSResources</mainClass>
<systemProperties>
<systemProperty>
<key>tck.management-url</key>
<value>${tck.management-url}</value>
</systemProperty>
<systemProperty>
<key>tck.management-username</key>
<value>${tck.management-username}</value>
</systemProperty>
<systemProperty>
<key>tck.management-password</key>
<value>${tck.management-password}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-queue</key>
<value>${tck.management-api-queue}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-topic</key>
<value>${tck.management-api-topic}</value>
</systemProperty>
</systemProperties>
</configuration>
</execution>
<execution>
<id>delete-jms-resources</id>
<goals>
<goal>java</goal>
</goals>
<phase>post-integration-test</phase>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>org.apache.qpid.tck.ManageQpidJMSResources</mainClass>
<arguments><argument>--delete</argument></arguments>
<systemProperties>
<systemProperty>
<key>tck.management-url</key>
<value>${tck.management-url}</value>
</systemProperty>
<systemProperty>
<key>tck.management-username</key>
<value>${tck.management-username}</value>
</systemProperty>
<systemProperty>
<key>tck.management-password</key>
<value>${tck.management-password}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-queue</key>
<value>${tck.management-api-queue}</value>
</systemProperty>
<systemProperty>
<key>tck.management-api-topic</key>
<value>${tck.management-api-topic}</value>
</systemProperty>
</systemProperties>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-client</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<!-- Profile used to execute TCK against the Old JMS client for 0-8..0-91 -->
<id>jms-client-0-9</id>
<activation>
<property>
<name>tck</name>
<value>jms-client-0-9</value>
</property>
</activation>
<properties>
<java.naming.factory.initial>org.apache.qpid.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial>
<java.naming.provider.url>${project.build.directory}${file.separator}test-classes${file.separator}jms-client${file.separator}jndi.properties</java.naming.provider.url>
<tck.test.options>-Dqpid.amqp.version=0-9 -Dqpid.dest_syntax=BURL</tck.test.options>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<!-- Profile used to execute TCK against the Old JMS client for 0-10-->
<id>jms-client-0-10</id>
<activation>
<property>
<name>tck</name>
<value>jms-client-0-10</value>
</property>
</activation>
<properties>
<java.naming.factory.initial>org.apache.qpid.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial>
<java.naming.provider.url>${project.build.directory}${file.separator}test-classes${file.separator}jms-client${file.separator}jndi.properties</java.naming.provider.url>
<tck.test.options>-Dqpid.amqp.version=0-10 -Dqpid.dest_syntax=BURL</tck.test.options>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
</profiles>
</project>