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

<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2010, 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.jboss.as.server">
    <properties>
        <property name="jboss.api" value="private"/>
        <property name="jboss.require-java-version" value="1.8"/>
    </properties>

    <main-class name="org.jboss.as.server.DomainServerMain"/>

    <resources>
        <artifact name="${org.wildfly.core:wildfly-server}"/>
    </resources>

    <dependencies>
        <!-- for java.beans -->
        <module name="java.desktop"/>
        <module name="java.instrument"/>
        <module name="java.logging"/>
        <module name="java.management"/>
        <module name="java.naming"/>
        <module name="java.security.sasl"/>
        <module name="java.xml"/>
        <!-- Workaround for ELY-1561 -->
        <module name="jdk.security.auth"/>

        <!-- JAXP default dependencies. DO NOT REMOVE!!!
             These are loaded by the JAXP redirect facility in jboss-modules when this module is used
             as a boot module (this is the case for server processes in domain mode). The purpose is
             to provide a common default JAXP implementation on all JDKs. This is necessary since we
             have to override the JAXP APIs to fix incompatibilities with modular class-loading. In
             the future we may be able to replace this construct if JAXP APIs are fixed on all known
             JVMs *and* we implement a subsystem to provide a similar default/fallback common parser
             behavior. Please discuss any design changes in this area on the WildFly development
             mailing list before enacting.

             Xalan is optional for deritives of wildfly-core that do not desire TransformerFactory
             support, or wish to require that deployments bundle an xslt implementaiton to use it,
             as it will break otherwise.
        -->
        <module name="org.apache.xalan" services="import" optional="true"/>
        <module name="org.apache.xerces" services="import"/>
        <module name="org.codehaus.woodstox" services="import"/>
        <!-- END JAXP default dependencies -->

        <!--this needs to remain here until common-beans is fixed to use passed classloader -->
        <module name="org.jboss.common-beans" services="export" optional="true"/>

        <module name="org.jboss.staxmapper"/>
        <module name="org.jboss.dmr"/>
        <module name="org.jboss.classfilewriter"/>
        <module name="org.jboss.invocation"/>
        <module name="org.jboss.jandex"/>
        <module name="org.jboss.marshalling"/>
        <module name="org.jboss.marshalling.river" services="import"/>
        <module name="org.jboss.modules"/>
        <module name="org.jboss.msc" export="true"/>
        <module name="org.jboss.logging"/>
        <module name="org.jboss.logmanager" services="import"/>
        <module name="org.jboss.remoting"/>
        <module name="org.jboss.stdio"/>
        <module name="org.jboss.threads"/>
        <module name="org.jboss.vfs" services="import"/>
        <module name="org.jboss.as.controller"/>
        <module name="org.jboss.as.deployment-repository"/>
        <module name="org.jboss.as.domain-http-interface"/>
        <module name="org.jboss.as.domain-management"/>
        <module name="org.jboss.as.jmx" services="import"/>
        <module name="org.jboss.as.network"/>
        <module name="org.jboss.as.patching" optional="true" services="import"/>
        <module name="org.jboss.as.platform-mbean"/>
        <module name="org.jboss.as.process-controller"/>
        <module name="org.jboss.as.protocol">
            <imports>
                <include path="**" />
            </imports> 
        </module>
        <module name="org.jboss.as.remoting"/>
        <module name="org.wildfly.security.elytron-private" services="import"/>
        <module name="org.jboss.as.security" optional="true" services="import"/>
        <module name="org.jboss.as.version"/>
        <module name="io.undertow.core" />
        <module name="org.wildfly.common"/>
        <module name="org.wildfly.extension.core-management-client" />
        <!-- Allow javax->jakarta deployment transformation if this module is provided -->
        <module name="org.wildfly.deployment.transformation" optional="true" services="import"/>
        <module name="org.eclipse.jgit" optional="true"/>
    </dependencies>
</module>
