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

<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2015, Red Hat, Inc., and individual contributors
  ~ as indicated by the @author tags. See the copyright.txt file in the
  ~ distribution for a full listing of individual contributors.
  ~
  ~ This 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 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ This software 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 software; if not, write to the Free
  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  -->
<module xmlns="urn:jboss:module:1.9" name="org.wildfly.security.elytron-base">
    <properties>
        <!--
             Although this module is private see the module 'org.wildfly.security.elytron' for the re-exported public API.
         -->
        <property name="jboss.api" value="private"/>
    </properties>

    <exports>
        <exclude path="org/wildfly/security/_private"/>
        <exclude path="org/wildfly/security/manager/_private"/>
        <exclude path="org/wildfly/security/sasl/digest/_private"/>
        <exclude path="org/wildfly/security/util/_private"/>
    </exports>

    <resources>
        <artifact name="${org.wildfly.security:wildfly-elytron-asn1}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-audit}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth-server}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth-server-deprecated}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth-server-http}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth-server-sasl}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-auth-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-base}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-client}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-credential}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-credential-source-impl}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-credential-store}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-digest}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-encryption}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-basic}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-bearer}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-cert}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-digest}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-external}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-form}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-spnego}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-sso}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-http-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-json-util}"/>
        <!-- <artifact name="${org.wildfly.security:wildfly-elytron-jwt}"/> To be added as independent module in WildFly -->
        <artifact name="${org.wildfly.security:wildfly-elytron-keystore}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism-digest}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism-http}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism-gssapi}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism-oauth2}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-mechanism-scram}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-password-impl}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-permission}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-provider-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-realm}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-realm-jdbc}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-realm-ldap}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-realm-token}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-auth-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-anonymous}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-digest}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-entity}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-external}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-gs2}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-gssapi}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-localuser}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-oauth2}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-otp}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-plain}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-sasl-scram}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-security-manager}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-security-manager-action}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-ssl}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-ssh-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-x500}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-x500-cert}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-x500-cert-acme}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-x500-cert-util}"/>
        <artifact name="${org.wildfly.security:wildfly-elytron-x500-principal}"/>
    </resources>

    <dependencies>
        <module name="java.logging"/>
        <module name="java.naming"/>
        <module name="java.security.jgss"/>
        <module name="java.security.sasl"/>
        <module name="java.sql"/>
        <module name="java.xml"/>
        <module name="java.xml.crypto"/>
        <module name="javax.json.api"/>
        <module name="jdk.security.auth"/>
        <module name="jdk.unsupported"/>
        <module name="org.jboss.logging"/>
        <module name="org.jboss.logmanager"/>
        <module name="org.jboss.modules"/>
        <module name="org.jboss.threads"/>
        <module name="org.wildfly.common"/>
        <module name="javax.xml.ws.api" optional="true"/>
        <module name="org.jboss.ws.spi" optional="true"/>
        <module name="org.apache.sshd"/>
        <module name="org.jboss.resteasy.resteasy-jaxrs" optional="true"/>
        <!--
        This is only exported because some of the ElytronXmlParser methods throw an exception in this module. If other
        modules use the parser, they need to have visibility to this module.
        -->
        <module name="org.wildfly.client.config" export="true"/>
    </dependencies>
</module>
