<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Copyright The WildFly Authors
  ~ SPDX-License-Identifier: Apache-2.0
  -->

<module xmlns="urn:jboss:module:1.9" name="org.jboss.as.clustering.infinispan">

    <properties>
        <property name="jboss.api" value="private"/>
    </properties>

    <exports>
        <exclude path="org/wildfly/clustering/ejb/infinispan/logging"/>
    </exports>

    <resources>
        <artifact name="${org.wildfly:wildfly-clustering-infinispan-extension}"/>
    </resources>

    <dependencies>
        <module name="java.management"/>
        <module name="java.sql"/>
        <module name="java.transaction.xa"/>
        <module name="java.xml"/>
        <module name="jakarta.transaction.api"/>

        <!-- The netty-common module is only require to initialize Netty's InternalLoggingFactory -->
        <module name="io.netty.netty-common"/>
        <module name="io.netty.netty-transport-native-epoll"/>
        <module name="io.netty.netty-transport-native-kqueue"/>
        <module name="io.reactivex.rxjava3.rxjava"/>
        <module name="net.jcip"/>
        <module name="org.infinispan.core" services="import"/>
        <module name="org.infinispan.persistence.jdbc"/>
        <module name="org.infinispan.persistence.remote"/>
        <module name="org.infinispan.client.hotrod"/>
        <module name="org.infinispan.commons"/>
        <module name="org.infinispan.protostream"/>
        <module name="org.jboss.as.clustering.common"/>
        <module name="org.jboss.as.controller"/>
        <module name="org.jboss.as.naming"/>
        <module name="org.jboss.as.network"/>
        <module name="org.jboss.as.server"/>
        <module name="org.jboss.jboss-transaction-spi"/>
        <module name="org.jboss.logging"/>
        <module name="org.jboss.marshalling"/>
        <module name="org.jboss.modules"/>
        <module name="org.jboss.msc"/>
        <module name="org.jboss.staxmapper"/>
        <module name="org.jgroups"/>
        <module name="org.reactivestreams"/>
        <module name="org.wildfly.clustering.context"/>
        <module name="org.wildfly.clustering.ee.infinispan"/>
        <module name="org.wildfly.clustering.ee.spi"/>
        <module name="org.wildfly.clustering.infinispan.client.api"/>
        <module name="org.wildfly.clustering.infinispan.client.service"/>
        <module name="org.wildfly.clustering.infinispan.marshalling"/>
        <module name="org.wildfly.clustering.infinispan.embedded.api"/>
        <module name="org.wildfly.clustering.infinispan.embedded.service"/>
        <module name="org.wildfly.clustering.infinispan.embedded.spi"/>
        <module name="org.wildfly.clustering.jgroups.spi"/>
        <module name="org.wildfly.clustering.marshalling.api"/>
        <module name="org.wildfly.clustering.marshalling.jboss"/>
        <module name="org.wildfly.clustering.marshalling.protostream"/>
        <module name="org.wildfly.clustering.marshalling.spi"/>
        <module name="org.wildfly.clustering.server.api"/>
        <module name="org.wildfly.clustering.server.service"/>
        <module name="org.wildfly.clustering.service"/>
        <module name="org.wildfly.clustering.singleton.api"/>
        <module name="org.wildfly.common"/>
        <module name="org.wildfly.security.elytron-private"/>
        <module name="org.wildfly.service"/>
        <module name="org.wildfly.subsystem"/>
        <module name="org.wildfly.transaction.client"/>
    </dependencies>
</module>
