<?xml version="1.0" encoding="UTF-8"?>
<!--
 This file is part of the Meeds project (https://meeds.io/).

 Copyright (C) 2020 - 2025 Meeds Association contact@meeds.io

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 3 of the License, or (at your option) any later version.
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public License
 along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->
<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>
   <parent>
      <groupId>io.meeds.kernel</groupId>
      <artifactId>kernel-parent</artifactId>
      <version>7.2.x-meeds-qaui-SNAPSHOT</version>
   </parent>
   <artifactId>exo.kernel.container</artifactId>
   <name>Meeds:: PLF:: Kernel :: Container</name>
   <description>Implementation of Container for Exoplatform SAS 'eXo Kernel' project.</description>
   <properties>
      <exo.test.coverage.ratio>0.6</exo.test.coverage.ratio>
   </properties>
   <dependencies>
      <dependency>
         <groupId>io.meeds.kernel</groupId>
         <artifactId>exo.kernel.commons</artifactId>
      </dependency>
      <dependency>
         <groupId>io.meeds.kernel</groupId>
         <artifactId>exo.kernel.commons.test</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>commons-beanutils</groupId>
         <artifactId>commons-beanutils</artifactId>
          <exclusions>
              <exclusion>
                  <groupId>commons-logging</groupId>
                  <artifactId>commons-logging</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
         <groupId>io.meeds.gatein.wci</groupId>
         <artifactId>wci-wci</artifactId>
      </dependency>
      <dependency>
         <groupId>org.jibx</groupId>
         <artifactId>jibx-run</artifactId>
         <exclusions>
            <exclusion>
               <groupId>org.codehaus.woodstox</groupId>
               <artifactId>wstx-asl</artifactId>
            </exclusion>
             <exclusion>
                 <groupId>joda-time</groupId>
                 <artifactId>joda-time</artifactId>
             </exclusion>
             <exclusion>
                 <groupId>xpp3</groupId>
                 <artifactId>xpp3</artifactId>
             </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>javax.inject</groupId>
         <artifactId>javax.inject</artifactId>
      </dependency>
      <dependency>
         <groupId>javax.inject</groupId>
         <artifactId>javax.inject-tck</artifactId>
         <version>1</version>
         <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <exclusions>
          <exclusion>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.interceptor</groupId>
            <artifactId>javax.interceptor-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
         <groupId>org.javassist</groupId>
         <artifactId>javassist</artifactId>
      </dependency>
      <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
      </dependency>
   </dependencies>
   <build>
      <plugins>
         <plugin>
            <groupId>org.jibx</groupId>
            <artifactId>maven-jibx-plugin</artifactId>
            <configuration>
               <directory>src/main/resources</directory>
               <includes>
                  <includes>binding.xml</includes>
               </includes>
            </configuration>
            <executions>
               <execution>
                  <goals>
                     <goal>bind</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
               <execution>
                  <id>prepare-test-policy</id>
                  <phase>process-test-resources</phase>
                  <configuration>
                     <target>
                        <echo>Creating Access Policy for tests</echo>
                        <makeurl file="${settings.localRepository}" property="localRepositoryURL" />
                        <makeurl file="${project.build.outputDirectory}" property="outputDirectoryURL" />
                        <makeurl file="${project.build.testOutputDirectory}" property="testOutputDirectoryURL" />
                        <copy todir="${project.build.testOutputDirectory}" overwrite="true">
                           <fileset dir="${project.basedir}/src/test/resources/">
                              <include name="test.policy" />
                           </fileset>
                           <filterset>
                              <filter token="MAVEN_REPO" value="${localRepositoryURL}" />
                              <filter token="MAIN_CLASSES" value="${outputDirectoryURL}" />
                              <filter token="TEST_CLASSES" value="${testOutputDirectoryURL}" />
                           </filterset>
                        </copy>
                     </target>
                  </configuration>
                  <goals>
                     <goal>run</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <!-- Configure maven-source-plugin to publish the sources of the unit tests -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
               <excludes>
                  <exclude>META-INF/services/*</exclude>
                  <exclude>org/exoplatform/container/spi/*.java</exclude>
                  <exclude>test.policy</exclude>
                  <exclude>tsm-excludes.properties</exclude>
                  <exclude>conf/*</exclude>
               </excludes>
            </configuration>
            <executions>
               <execution>
                  <id>attach-sources</id>
                  <phase>generate-sources</phase>
                  <goals>
                     <goal>test-jar-no-fork</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <!-- Configure maven-jar-plugin to publish the classes of the unit tests -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
               <execution>
                  <goals>
                     <goal>test-jar</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
</project>
