<?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>8.0.0-SNAPSHOT</version>

  <description>
    OpenEJB TCK Harness
  </description>

  <properties>

    <openejb.groupId>org.apache.tomee</openejb.groupId>
    <openejb.version>8.0.0-SNAPSHOT</openejb.version>
    <tomee.version>8.0.0-SNAPSHOT</tomee.version>

    <tomcat.version>9.0.22</tomcat.version>

    <derby.version>10.7.1.1</derby.version>

    <!--
    NOTE: User must define "javaee8.cts.home" and "javaee8.ri.home" in ~/.m2/settings.xml
    -->
    <javaee.cts.home>${javaee8.cts.home}</javaee.cts.home>
    <javaee.ri.home>${javaee8.ri.home}</javaee.ri.home>
    <javaee.tck.version>8.0</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>
    <harness.log.port>2000</harness.log.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>
    <version.maven-dependency-plugin>2.9</version.maven-dependency-plugin>
    <version.activemq>5.15.8</version.activemq>
    <version.gmaven-plugin>1.5</version.gmaven-plugin>
  </properties>

  <dependencies>
    <dependency>
      <groupId>${openejb.groupId}</groupId>
      <artifactId>openejb-lite</artifactId>
      <version>${openejb.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-client</artifactId>
      <version>${version.activemq}</version>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- required dependency for active mq -->
    <dependency>
      <groupId>org.fusesource.hawtbuf</groupId>
      <artifactId>hawtbuf</artifactId>
      <version>1.11</version>
    </dependency>

    <dependency>
      <groupId>com.icegreen</groupId>
      <artifactId>greenmail-standalone</artifactId>
      <version>1.5.10</version>
    </dependency>

    <!--<dependency>-->
      <!--<groupId>com.test</groupId>-->
      <!--<artifactId>jar-to-test</artifactId>-->
      <!--<version>${javaee.tck.version}</version>-->
      <!--<scope>system</scope>-->
      <!--<type>jar</type>-->
      <!--<systemPath>${javaee.cts.home}/dist/com/sun/ts/tests/websocket/ee/javax/websocket/clientendpoint/wsc_ee_clientendpoint_Client_nodeploy.jar_client</systemPath>-->
    <!--</dependency>-->

    <dependency>
      <groupId>com.sun.javaee.tck</groupId>
      <artifactId>tsharness</artifactId>
      <version>${javaee.tck.version}</version>
      <scope>system</scope>
      <systemPath>${javaee.cts.home}/lib/tsharness.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>com.sun.javaee.tck</groupId>
      <artifactId>javatest</artifactId>
      <version>${javaee.tck.version}</version>
      <scope>system</scope>
      <systemPath>${javaee.cts.home}/lib/javatest.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>com.sun.javaee.tck</groupId>
      <artifactId>cts</artifactId>
      <version>${javaee.tck.version}</version>
      <scope>system</scope>
      <systemPath>${javaee.cts.home}/lib/cts.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>com.sun.javaee.tck</groupId>
      <artifactId>whitebox</artifactId>
      <version>${javaee.tck.version}</version>
      <scope>system</scope>
      <systemPath>${javaee.cts.home}/dist/com/sun/ts/tests/common/connector/whitebox/whitebox.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>com.sun.javaee.tck</groupId>
      <artifactId>dbprocedures</artifactId>
      <version>${javaee.tck.version}</version>
      <scope>system</scope>
      <systemPath>${javaee.cts.home}/lib/dbprocedures.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>backport-util-concurrent</groupId>
      <artifactId>backport-util-concurrent</artifactId>
      <version>3.1</version>
    </dependency>

    <dependency>
      <groupId>${openejb.groupId}</groupId>
      <artifactId>openejb-core</artifactId>
      <version>${openejb.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>${openejb.groupId}</groupId>
      <artifactId>openejb-client</artifactId>
      <version>${openejb.version}</version>
    </dependency>

    <dependency>
      <groupId>${openejb.groupId}</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>${derby.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derbynet</artifactId>
      <version>${derby.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derbyclient</artifactId>
      <version>${derby.version}</version>
    </dependency>

    <dependency>
      <groupId>${openejb.groupId}</groupId>
      <artifactId>openejb-derbynet</artifactId>
      <version>${openejb.version}</version>
    </dependency>

    <dependency>
      <groupId>${openejb.groupId}</groupId>
      <artifactId>webdeployer</artifactId>
      <version>${openejb.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-websocket</artifactId>
      <version>${tomcat.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-util</artifactId>
      <version>${tomcat.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-juli</artifactId>
      <version>${tomcat.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-api</artifactId>
      <version>${tomcat.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>

            <executions>
              <execution>
                <id>unpack</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${openejb.groupId}</groupId>
                      <artifactId>openejb-standalone</artifactId>
                      <version>${openejb.version}</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

      <dependencies>
        <dependency>
          <groupId>${openejb.groupId}</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>${version.maven-dependency-plugin}</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>
                      <version>${tomcat.version}</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                    </artifactItem>
                    <artifactItem>
                      <groupId>org.apache.tomee</groupId>
                      <artifactId>tomee-webapp</artifactId>
                      <version>${tomee.version}</version>
                      <type>war</type>
                      <outputDirectory>${openejb.home}/webapps/tomee</outputDirectory>
                    </artifactItem>
                    <artifactItem>
                      <groupId>${openejb.groupId}</groupId>
                      <artifactId>tomee-loader</artifactId>
                      <version>${tomee.version}</version>
                      <type>jar</type>
                      <outputDirectory>${openejb.home}/lib</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

      <dependencies>

        <dependency>
          <groupId>${openejb.groupId}</groupId>
          <artifactId>tomee-webapp</artifactId>
          <type>war</type>
          <version>${tomee.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>

            <executions>
              <execution>
                <id>unpack</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${openejb.groupId}</groupId>
                      <artifactId>apache-tomee</artifactId>
                      <version>${tomee.version}</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                      <classifier>webprofile</classifier>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

      <dependencies>

        <dependency>
          <groupId>${openejb.groupId}</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>
            <executions>
              <execution>
                <id>unpack</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${openejb.groupId}</groupId>
                      <artifactId>apache-tomee</artifactId>
                      <version>${tomee.version}</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                      <classifier>plus</classifier>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

      <dependencies>

        <dependency>
          <groupId>${openejb.groupId}</groupId>
          <artifactId>apache-tomee</artifactId>
          <type>zip</type>
          <version>${tomee.version}</version>
          <classifier>plus</classifier>
        </dependency>

      </dependencies>

    </profile>

    <profile>
      <id>tomee-plume-environment</id>

      <activation>
        <property>
          <name>webcontainer</name>
          <value>tomee-plume</value>
        </property>
      </activation>

      <properties>
        <openejb.home>target/apache-tomee-plume-${tomee.version}</openejb.home>
      </properties>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${openejb.groupId}</groupId>
                      <artifactId>apache-tomee</artifactId>
                      <version>${tomee.version}</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                      <classifier>plume</classifier>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

      <dependencies>

        <dependency>
          <groupId>${openejb.groupId}</groupId>
          <artifactId>apache-tomee</artifactId>
          <type>zip</type>
          <version>${tomee.version}</version>
          <classifier>plume</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> <!-- not used by tomee yet -->
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>1.5</version>
            <executions>
              <execution>
                <id>generate-reverse-tests</id>
                <phase>process-test-resources</phase>
                <goals>
                  <goal>execute</goal>
                </goals>
                <configuration>
                  <source>
                    new openejb.tck.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.5</version>

            <dependencies>
              <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>${derby.version}</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.cmp.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.interop.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.jacc.sql</srcFile>
                    <!--<srcFile>src/test/sql/derby/derby.ddl.jbatch-tck.sql</srcFile>-->
                    <srcFile>src/test/sql/derby/derby.ddl.jstl.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.persistence.sprocs.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.persistence.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.securityapi.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.ddl.sprocs.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.dml.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.dml.jpa.sql</srcFile>
                    <srcFile>src/test/sql/derby/derby.dml.jstl.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.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.10</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.gmaven</groupId>
          <artifactId>gmaven-plugin</artifactId>
          <version>1.5</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>3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-idea-plugin</artifactId>
        <version>2.2.1</version>
        <configuration>
          <jdkName>1.7</jdkName>
          <jdkLevel>1.7</jdkLevel>
          <linkModules>true</linkModules>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.9.1</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>
                <portName>harness.log.port</portName>
              </portNames>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <id>start-database</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>java</goal>
            </goals>
            <configuration>
              <cleanupDaemonThreads>false</cleanupDaemonThreads>
              <killAfter>-1</killAfter>
              <arguments>
                <argument>${derby.server.port}</argument>
              </arguments>
              <classpathScope>compile</classpathScope>
              <mainClass>org.apache.openejb.cts.DerbyRunner</mainClass>
            </configuration>
          </execution>
          <execution>
            <id>start-greenmail</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>java</goal>
            </goals>
            <configuration>
              <cleanupDaemonThreads>false</cleanupDaemonThreads>
              <mainClass>org.apache.openejb.cts.GreenmailRunner</mainClass>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.0.1</version>
        <executions>
          <execution>
            <id>unpack</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>${openejb.groupId}</groupId>
                  <artifactId>openejb-standalone</artifactId>
                  <version>${openejb.version}</version>
                  <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-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
              <excludeTransitive>true</excludeTransitive>
              <includeArtifactIds>hawtbuf,tomcat-websocket,tomcat-util,tomcat-juli,tomcat-api,openejb-lite,activemq-client,activemq-client,tsharness,cts,whitebox,dbprocedures,geronimo-mail,openejb-derbynet,derby,derbynet,derbyclient,webdeployer</includeArtifactIds>
            </configuration>
          </execution>
          <execution>
            <id>copy-dependencies-tomee-lib</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${openejb.home}/lib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
              <excludeTransitive>true</excludeTransitive>
              <includeArtifactIds>activemq-client,activemq-client,tsharness,cts,whitebox,dbprocedures,geronimo-mail,openejb-derbynet,derby,derbynet,derbyclient,webdeployer</includeArtifactIds>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!--
      TomEE embeds 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.8</version>
        <executions>
          <execution>
            <id>remove-apps-and-copy-libs-from-tck</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>${version.gmaven-plugin}</version>

        <dependencies>
          <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>${derby.version}</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>
            </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>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>codehaus-snapshots</id>
      <name>Codehaus Snapshot</name>
      <url>https://nexus.codehaus.org/content/repositories/snapshots/</url>
      <layout>default</layout>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
    <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>