blob: 41177318115aaae34d139862430863aeb105a897 [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.
-->
<!-- $Revision$ $Date$ -->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.openejb.cts</groupId>
<artifactId>openejb-tck</artifactId>
<name>OpenEJB TCK Harness</name>
<version>1.0-SNAPSHOT</version>
<!--openejb.version-->
<description>
OpenEJB TCK Harness
</description>
<properties>
<openejb.version>4.5.1</openejb.version>
<tomee.version>1.5.1</tomee.version>
<tomcat.version>7.0.34</tomcat.version>
<!--
NOTE: User must define "javaee6.cts.home" and "javaee6.ri.home" in ~/.m2/settings.xml
-->
<javaee.cts.home>${javaee6.cts.home}</javaee.cts.home>
<javaee.ri.home>${javaee6.ri.home}</javaee.ri.home>
<javaee.tck.version>6.0a</javaee.tck.version>
<localRepository>${settings.localRepository}</localRepository>
<examples.version>1.1-SNAPSHOT</examples.version>
<http.proxy.host>${settings.activeProxy.host}</http.proxy.host>
<http.proxy.port>${settings.activeProxy.port}</http.proxy.port>
<http.proxy.username>${settings.activeProxy.username}</http.proxy.username>
<http.proxy.password>${settings.activeProxy.password}</http.proxy.password>
<http.proxy.nonProxyHosts>${settings.activeProxy.nonProxyHosts}</http.proxy.nonProxyHosts>
<repoPath>${localRepository}</repoPath>
<!-- externalized ports for tx.jte file -->
<webcontainer.default.host>localhost</webcontainer.default.host>
<webcontainer.ri.host>localhost</webcontainer.ri.host>
<webcontainer.ri.port>8000</webcontainer.ri.port>
<orb.default.host>localhost</orb.default.host>
<orb.default.port>2809</orb.default.port>
<orb.ri.host>localhost</orb.ri.host>
<orb.ri.port>3700</orb.ri.port>
<rmiiiop.http.server.host>localhost</rmiiiop.http.server.host>
<rmiiiop.http.server.port>10000</rmiiiop.http.server.port>
<!-- Random CTS properties that have been externalized -->
<deliverable.class>com.sun.ts.lib.deliverable.cts.CTSDeliverable</deliverable.class>
<deploy_delay_in_minutes>5</deploy_delay_in_minutes>
<cts.harness.debug>false</cts.harness.debug>
<!-- Disable Surefire, we are using Javatest to execute integration tests -->
<maven.test.skip>true</maven.test.skip>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-lite</artifactId>
<version>${openejb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.4.1</version>
</dependency>
<dependency>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>tsharness</artifactId>
<version>${javaee.tck.version}</version>
</dependency>
<dependency>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>javatest</artifactId>
<version>${javaee.tck.version}</version>
</dependency>
<dependency>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>cts</artifactId>
<version>${javaee.tck.version}</version>
</dependency>
<dependency>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>whitebox</artifactId>
<version>${javaee.tck.version}</version>
</dependency>
<dependency>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>dbprocedures</artifactId>
<version>${javaee.tck.version}</version>
</dependency>
<dependency>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-core</artifactId>
<version>${openejb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-client</artifactId>
<version>${openejb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-loader</artifactId>
<type>jar</type>
<version>${tomee.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.modules</groupId>
<artifactId>geronimo-mail</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.7.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<version>10.7.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.7.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-derbynet</artifactId>
<version>${openejb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>webdeployer</artifactId>
<version>${openejb.version}</version>
</dependency>
</dependencies>
<profiles>
<!-- =================== -->
<!-- Standalone Environment -->
<!-- =================== -->
<profile>
<id>standalone-environment</id>
<activation>
<property>
<name>webcontainer</name>
<value>none</value>
</property>
</activation>
<properties>
<!-- where we will unpack openejb -->
<openejb.home>${project.build.directory}/apache-openejb-${openejb.version}</openejb.home>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-standalone</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-standalone</artifactId>
<type>zip</type>
<version>${openejb.version}</version>
</dependency>
</dependencies>
</profile>
<!-- =================== -->
<!-- Tomcat Environment -->
<!-- =================== -->
<profile>
<id>tomcat-environment</id>
<activation>
<property>
<name>webcontainer</name>
<value>tomcat</value>
</property>
</activation>
<properties>
<!-- where we will unpack tomcat -->
<openejb.home>${project.build.directory}/apache-tomcat-${tomcat.version}</openejb.home>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb.tck</groupId>
<artifactId>tomcat</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-webapp</artifactId>
<type>war</type>
<outputDirectory>${openejb.home}/webapps/tomee</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-loader</artifactId>
<type>jar</type>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-webapp</artifactId>
<type>war</type>
<version>${openejb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomcat</artifactId>
<type>war</type>
<version>${tomcat.version}</version>
</dependency>
</dependencies>
</profile>
<!-- =================== -->
<!-- TomEE Environment -->
<!-- =================== -->
<profile>
<id>tomee-environment</id>
<activation>
<property>
<name>webcontainer</name>
<value>tomee</value>
</property>
</activation>
<properties>
<!-- where we will unpack tomee -->
<openejb.home>target/apache-tomee-webprofile-${tomee.version}</openejb.home>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomee</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
<classifier>webprofile</classifier>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomee</artifactId>
<type>zip</type>
<version>${tomee.version}</version>
<classifier>webprofile</classifier>
</dependency>
</dependencies>
</profile>
<profile>
<id>tomee-plus-environment</id>
<activation>
<property>
<name>webcontainer</name>
<value>tomee-plus</value>
</property>
</activation>
<properties>
<openejb.home>target/apache-tomee-plus-${tomee.version}</openejb.home>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomee</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
<classifier>plus</classifier>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomee</artifactId>
<type>zip</type>
<version>${tomee.version}</version>
<classifier>plus</classifier>
</dependency>
</dependencies>
</profile>
<!-- ==================== -->
<!-- Reverse Test setup -->
<!-- ==================== -->
<profile>
<id>reverse-setup</id>
<activation>
<property>
<name>reverse</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<id>generate-reverse-tests</id>
<phase>process-test-resources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
new commands.ReverseSetupCommand(this).execute()
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
sql commands are very long to execute
and not always useful (jaxrs tests for instance)
so simply let skip it in an easy manner
-->
<profile>
<id>sql</id>
<activation>
<property>
<name>sql</name>
<value>active</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.2</version>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.7.1.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>create-schema</id>
<phase>pre-integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<driver>org.apache.derby.jdbc.ClientDriver</driver>
<url>jdbc:derby://localhost:${derby.server.port}/derbydb;create=true</url>
<username>cts</username>
<password>cts</password>
<autocommit>true</autocommit>
<onError>continue</onError>
<srcFiles>
<srcFile>src/test/sql/derby/derby.ddl.sql</srcFile>
<srcFile>src/test/sql/derby/derby.ddl.jstl.sql</srcFile>
<srcFile>src/test/sql/derby/derby.ddl.persistence.sql</srcFile>
<srcFile>src/test/sql/derby/derby.ddl.sprocs.sql</srcFile>
</srcFiles>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<defaultGoal>install</defaultGoal>
<testResources>
<testResource>
<directory>${pom.basedir}/src/test/resources</directory>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<configuration>
<scriptpath>
<element>${pom.basedir}/src/test/script</element>
</scriptpath>
<classpath>
<element>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>0.9.94</version>
</element>
</classpath>
<defaults>
<testSectionsFile>${pom.basedir}/sections.properties</testSectionsFile>
<logOutputDirectory>${project.build.directory}/logs</logOutputDirectory>
<backupLogs>true</backupLogs>
</defaults>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<!--
NOTE: These are the default plugin executions that should always execute.
This performs setup and validation of the environment.
-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>2.2</version>
<configuration>
<jdkName>1.6</jdkName>
<jdkLevel>1.6</jdkLevel>
<linkModules>true</linkModules>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>reserve-network-port</id>
<phase>pre-integration-test</phase>
<goals>
<goal>reserve-network-port</goal>
</goals>
<configuration>
<portNames>
<portName>webcontainer.default.port</portName>
<portName>webcontainer.default.ssl.port</portName>
<portName>webcontainer.default.clientcert.port</portName>
<portName>webcontainer.default.shutdown.port</portName>
<portName>derby.server.port</portName>
</portNames>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>start-database</id>
<phase>pre-integration-test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<arguments>
<argument>${derby.server.port}</argument>
</arguments>
<mainClass>org.apache.openejb.cts.DerbyRunner</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-standalone</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-dependencies</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-lite</artifactId>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>tsharness</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>cts</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>whitebox</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.sun.javaee.tck</groupId>
<artifactId>dbprocedures</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.geronimo.modules</groupId>
<artifactId>geronimo-mail</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-derbynet</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.openejb</groupId>
<artifactId>webdeployer</artifactId>
<outputDirectory>${openejb.home}/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- TomEE embedds a lot of applications in. We should remove all not necessary web
application for TCK (ie. all but openejb and ROOT -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>remove-apps</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<delete dir="${openejb.home}/webapps/ROOT"/>
<delete dir="${openejb.home}/webapps/docs"/>
<delete dir="${openejb.home}/webapps/examples"/>
<delete dir="${openejb.home}/webapps/ejb-examples"/>
<delete dir="${openejb.home}/webapps/manager"/>
<delete dir="${openejb.home}/webapps/host-manager"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.7.1.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate-environment</id>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
new openejb.tck.commands.ValidateCommand(this).execute()
</source>
</configuration>
</execution>
<execution>
<id>setup-environment</id>
<phase>pre-integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
new openejb.tck.commands.SetupCommand(this).execute()
</source>
<classpath>
<element>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.7.1.1</version>
</element>
</classpath>
</configuration>
</execution>
<execution>
<id>javatest</id>
<phase>integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<classpath>
<element>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>0.9.94</version>
</element>
<!-- Included to access the testsuite reporting classes -->
<element>
<groupId>org.apache.geronimo.cts</groupId>
<artifactId>j2eetck-maven-plugin</artifactId>
<version>3.0.13022011</version>
</element>
</classpath>
<defaults>
<logOutput>true</logOutput>
<logOutputDirectory>${project.build.directory}/logs</logOutputDirectory>
</defaults>
<source>
new openejb.tck.commands.JavaTestCommand(this).execute()
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>orgapacheopenejb-132</id>
<name>Staging repo for TomEE 1.5.1</name>
<url>https://repository.apache.org/content/repositories/orgapacheopenejb-132/</url>
</repository>
<repository>
<id>apache-m2-snapshot</id>
<name>Apache M2 Snapshot Repository</name>
<url>http://repository.apache.org/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>openejb-cts-file</id>
<name>OpenEJB CTS File Repository</name>
<url>file://${pom.basedir}/src/test/repo</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>openejb-cts-file</id>
<name>OpenEJB CTS File Repository</name>
<url>file://${pom.basedir}/src/test/repo</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</pluginRepository>
</pluginRepositories>
</project>