<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright The WildFly Authors ~ SPDX-License-Identifier: Apache-2.0 --> <module name="wildflyee.api" xmlns="urn:jboss:module:1.9"> <!-- README for this module: This module depends upon all the Jakarta EE API modules and exports their APIs, providing access to all the available APIs in one place. The dependencies on the EE APIs are all optional, so if a slimmed server is provisioned that only provides a subset of APIs, the missing ones will be ignored and this module will only provide those APIs that are provisioned. There are two use cases for this module: 1) When WildFly dynamically generates modules from a set of resources to provide as a dependency to a deployment, it adds a dependency on this module to the generated module to help ensure it has access to any needed APIs. Examples of this kind of dynamic generation are the WildFly 'ee' subsystem's global module directory feature, as well as modules generated to encapsulate MANIFEST.mf Class-Path entries. 2) It can be a convenience for static module developers who can add it as a dependency and get access to all the EE APIs without having to identify which specific APIs are needed. This use is a bit of an anti-pattern; module authors should understand and document their dependencies. WildFly's own modules are not allowed to declare dependencies on this module. Deployments should not declare dependencies on this module. WildFly subsystems add the appropriate EE API dependencies to deployments. --> <properties> <!-- This module is marked as private both because its use case as a convenience for static module developers is questionable, but also because deployments should not declare dependencies on this and should get a log WARN if they do. --> <property name="jboss.api" value="private"/> </properties> <dependencies> <module name="jakarta.activation.api" export="true" optional="true"/> <module name="jakarta.annotation.api" export="true" optional="true"/> <module name="jakarta.batch.api" export="true" optional="true"/> <module name="jakarta.ejb.api" export="true" optional="true"/> <module name="jakarta.enterprise.api" export="true" optional="true"/> <module name="jakarta.enterprise.concurrent.api" export="true" optional="true"/> <module name="jakarta.inject.api" export="true" optional="true"/> <module name="jakarta.interceptor.api" export="true" optional="true"/> <module name="jakarta.json.api" export="true" optional="true"/> <module name="jakarta.jms.api" export="true" optional="true"/> <module name="jakarta.xml.ws.api" export="true" optional="true"/> <module name="jakarta.mail.api" export="true" optional="true"/> <module name="jakarta.persistence.api" export="true" optional="true"/> <module name="jakarta.resource.api" export="true" optional="true"/> <module name="javax.rmi.api" export="true" optional="true"/> <module name="jakarta.security.auth.message.api" export="true" optional="true"/> <module name="jakarta.security.jacc.api" export="true" optional="true"/> <module name="jakarta.servlet.api" export="true" optional="true"/> <module name="jakarta.servlet.jsp.api" export="true" optional="true"/> <module name="jakarta.transaction.api" export="true" optional="true"/> <module name="jakarta.validation.api" export="true" optional="true"/> <module name="jakarta.ws.rs.api" export="true" services="export" optional="true"/> <module name="jakarta.websocket.api" export="true" optional="true"/> <module name="jakarta.xml.bind.api" export="true" optional="true"/> <module name="jakarta.xml.soap.api" export="true" optional="true"/> <!-- TODO WFCORE-6385 Consider replacing this with jakarta.el.api. Modules that need the EL impl in Eclipse Expressly should directly declare a dep, and not rely on wildflyee.api for it. --> <module name="org.glassfish.expressly" export="true" optional="true"/> <module name="org.omg.api" export="true" optional="true"/> <!-- This one always goes last. --> <module name="java.se" export="true" optional="true"/> </dependencies> </module>