<?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/maven-v4_0_0.xsd">
  <parent>
    <artifactId>tck</artifactId>
    <groupId>org.apache.tomee</groupId>
    <version>10.1.5</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>cdi-embedded</artifactId>
  <packaging>jar</packaging>
  <name>TomEE :: TCK :: CDI Embedded</name>
  <version>10.1.5</version>

  <properties>
    <testngSuiteXml>src/test/resources/passing.xml</testngSuiteXml>
    <surefire.argline>-Xmx4g</surefire.argline>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-api</artifactId>
      <version>${version.myfaces}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-impl</artifactId>
      <version>${version.myfaces}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>jakartaee-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jasper</artifactId>
      <version>${tomcat.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jasper-el</artifactId>
      <version>${tomcat.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-catalina</artifactId>
      <version>${tomcat.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.tomee</groupId>
      <artifactId>taglibs-shade</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tck-common</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.jboss.shrinkwrap.descriptors</groupId>
      <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
      <version>2.0.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-porting</artifactId>
      <version>${version.openwebbeans}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.openejb</groupId>
          <artifactId>openejb-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>jakarta.enterprise</groupId>
      <artifactId>cdi-tck-core-impl</artifactId>
      <version>${cdi-tck.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>jakarta.xml.soap-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.inject</groupId>
          <artifactId>jakarta.inject</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.enterprise</groupId>
          <artifactId>cdi-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.faces</groupId>
          <artifactId>jsf-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.servlet</groupId>
          <artifactId>jakarta.servlet-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.transaction</groupId>
          <artifactId>jta</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>jakarta.enterprise</groupId>
      <artifactId>cdi-tck-web-impl</artifactId>
      <version>${cdi-tck.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>jakarta.xml.soap-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.inject</groupId>
          <artifactId>jakarta.inject</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.enterprise</groupId>
          <artifactId>cdi-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.faces</groupId>
          <artifactId>jsf-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.servlet</groupId>
          <artifactId>jakarta.servlet-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.transaction</groupId>
          <artifactId>jta</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.arquillian.testng</groupId>
      <artifactId>arquillian-testng-container</artifactId>
      <version>${version.arquillian}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>arquillian-openejb-embedded</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tomee-catalina</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-jsf</artifactId>
      <version>${version.openwebbeans}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-cxf</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-cxf-rs</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- ActiveMQ is optional in openejb-core (embedded needs openejb-core + all deps)-->
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-ra</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-broker</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-jdbc-store</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.activemq</groupId>
          <artifactId>activemq-broker</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <scope>test</scope>
    </dependency>


  </dependencies>

  <profiles>
    <profile>
      <id>tck-cdi</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${surefire.version}</version>
            <configuration>
              <reuseForks>false</reuseForks>
              <forkCount>1</forkCount>
              <argLine>${surefire.argline}</argLine>
              <useFile>false</useFile>
              <disableXmlReport>false</disableXmlReport>
              <excludedGroups>javaee-full,se</excludedGroups>
              <dependenciesToScan>
                <dependency>jakarta.enterprise:cdi-tck-core-impl</dependency>
                <dependency>jakarta.enterprise:cdi-tck-web-impl</dependency>
              </dependenciesToScan>
              <!-- easier to debug
              <suiteXmlFiles>
                <suiteXmlFile>${testngSuiteXml}</suiteXmlFile>
              </suiteXmlFiles>
              -->
              <properties>
                <property> <!-- broken cause @RequestScoped beans are parameters and testng logs parameters -->
                  <name>usedefaultlisteners</name>
                  <value>false</value>
                </property>
              </properties>
              <systemPropertyVariables>
                <cdiTckExcludeDummy>true</cdiTckExcludeDummy>

                <queue>new://Resource?type=Queue</queue>
                <topic>new://Resource?type=Topic</topic>
                <jdbc>new://Resource?type=DataSource</jdbc>
                <jms>new://Resource?type=jakarta.jms.ConnectionFactory</jms>

                <admin.disabled>true</admin.disabled>
                <ejbd.disabled>true</ejbd.disabled>
                <ejbds.disabled>true</ejbds.disabled>
                <httpejbd.port>0</httpejbd.port>
                <!-- random port for http one -> CI friendly -->

                <openejb.cdi.applicationScope.cached>false</openejb.cdi.applicationScope.cached>
                <openejb.cdi.producer.interception>false</openejb.cdi.producer.interception>
                <openejb.cdi.filter.classloader>false</openejb.cdi.filter.classloader>
                <openejb.cdi.conversation.http.use-get-parameter>true</openejb.cdi.conversation.http.use-get-parameter>

                <openejb.jul.forceReload>true</openejb.jul.forceReload>
                <openejb.strict.interface.declaration>true</openejb.strict.interface.declaration>
                <openejb.http.mock-request>true</openejb.http.mock-request>
                <openejb.http.default-content-type>text/plain</openejb.http.default-content-type>
                <!-- TODO: remove it -->
                <openejb.http.eviction.duration>1 second</openejb.http.eviction.duration>
                <openejb.embedded.try-jsp>true</openejb.embedded.try-jsp>
                <openejb.deploymentId.format>{appId}/{ejbJarId}/{ejbName}</openejb.deploymentId.format>
                <org.apache.openejb.assembler.classic.WebAppBuilder>org.apache.openejb.web.LightweightWebAppBuilder</org.apache.openejb.assembler.classic.WebAppBuilder>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
