<?xml version='1.0' encoding='UTF-8'?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.infinispan</groupId>
      <artifactId>infinispan-parent</artifactId>
      <version>14.0.11.Final</version>
      <relativePath>../pom.xml</relativePath>
   </parent>

   <artifactId>infinispan-hibernate-parent</artifactId>
   <packaging>pom</packaging>
   <name>Infinispan Hibernate Parent</name>

   <modules>
      <module>cache-spi</module>
      <module>cache-commons</module>
      <module>cache-v60</module>
      <module>cache-v62</module>
   </modules>

   <dependencies>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-commons-test</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-component-processor</artifactId>
      </dependency>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-commons-jakarta</artifactId>
       </dependency>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-core-jakarta</artifactId>
      </dependency>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-jboss-marshalling</artifactId>
         <exclusions>
           <exclusion>
               <!-- Exclude the non jakarta core -->
               <groupId>org.infinispan</groupId>
               <artifactId>infinispan-core</artifactId>
           </exclusion>
           <exclusion>
               <!-- Exclude the non jakarta core -->
               <groupId>org.infinispan</groupId>
               <artifactId>infinispan-commons</artifactId>
           </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.hibernate.orm</groupId>
         <artifactId>hibernate-core</artifactId>
         <version>${version.hibernate.core}</version>
      </dependency>
      <dependency>
         <groupId>org.kohsuke.metainf-services</groupId>
         <artifactId>metainf-services</artifactId>
      </dependency>

      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-core</artifactId>
         <type>test-jar</type>
         <scope>test</scope>
         <exclusions>
           <exclusion>
               <!-- Exclude the non jakarta commons -->
               <groupId>org.infinispan</groupId>
               <artifactId>infinispan-commons</artifactId>
           </exclusion>
         </exclusions>

      </dependency>
      <dependency>
         <groupId>org.hibernate.orm</groupId>
         <artifactId>hibernate-testing</artifactId>
         <version>${version.hibernate.core}</version>
         <scope>test</scope>
         <exclusions>
            <exclusion>
               <groupId>log4j</groupId>
               <artifactId>log4j</artifactId>
            </exclusion>
            <exclusion>
               <groupId>org.junit.jupiter</groupId>
               <artifactId>junit-jupiter-api</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jboss-common-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.naming</groupId>
         <artifactId>jnp-client</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.naming</groupId>
         <artifactId>jnpserver</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>com.h2database</groupId>
         <artifactId>h2</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-checkstyle-plugin</artifactId>
               <configuration>
                  <configLocation>checkstyle-hibernate-cache.xml</configLocation>
               </configuration>
            </plugin>
         </plugins>
      </pluginManagement>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${version.maven.surefire}</version>
            <configuration>
               <dependenciesToScan>
                  <dependency>${project.groupId}:infinispan-hibernate-cache-commons</dependency>
               </dependenciesToScan>
               <groups combine.self="override">${defaultJUnitGroups}</groups> 
               <argLine>${forkJvmArgs} ${testjvm.jdkSpecificArgs} -Djdk.attach.allowAttachSelf=true</argLine>
               <parallel>classes</parallel>
               <groups combine.self="override"/>
               <excludedGroups combine.self="override">${defaultExcludedJUnitGroups}</excludedGroups>
               <testNGArtifactName>none:none</testNGArtifactName>
               <disableXmlReport>false</disableXmlReport>
               <properties combine.self="override">
                  <usedefaultlisteners>false</usedefaultlisteners>
                  <listener>${junitListener}</listener>
                  <log4j.configurationFile>${log4j.configurationFile}</log4j.configurationFile>
               </properties>
               <systemPropertyVariables>
                  <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                  <jgroups.ping.timeout>500</jgroups.ping.timeout>
                  <jgroups.ping.num_initial_members>1</jgroups.ping.num_initial_members>
                  <jgroups.udp.enable_bundling>false</jgroups.udp.enable_bundling>
                  <jgroups.bind_addr>localhost</jgroups.bind_addr>
                  <hibernate.cache.infinispan.jgroups_cfg>2lc-test-tcp.xml</hibernate.cache.infinispan.jgroups_cfg>
                  <infinispan.test.checkThreadLeaks>false</infinispan.test.checkThreadLeaks>
               </systemPropertyVariables>
            </configuration>
            <dependencies>
               <dependency>
                  <groupId>org.junit.vintage</groupId>
                  <artifactId>junit-vintage-engine</artifactId>
                  <version>5.6.3</version>
               </dependency>
            </dependencies>
         </plugin>
      </plugins>
   </build>

   <profiles>
      <profile>
         <id>smoke</id>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <configuration>
                     <groups>org.infinispan.commons.test.categories.Smoke</groups>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>

</project>
