From 09d75f850b4af5c6159d37935537328c107f179f Mon Sep 17 00:00:00 2001 From: Scott M Stark Date: Thu, 7 Mar 2024 10:05:49 -0600 Subject: [PATCH] Add a beans_4_1.xsd file and prepare to replace the staged 4.1.0 api jar. (#793) * Add a beans_4_1.xsd schema file fixes #792 * Revert the dev version back to 4.1.0-SNAPSHOT to replace the current 4.1.0 staged api jar to pickup the beans_4_1.xsd schema file. --------- Signed-off-by: Scott M Stark --- api/pom.xml | 2 +- api/src/main/resources/beans_4_1.xsd | 369 ++++++++++++++++++++++++ el/pom.xml | 2 +- ide-config/pom.xml | 2 +- lang-model/pom.xml | 2 +- pom.xml | 2 +- spec/pom.xml | 2 +- spec/src/main/asciidoc/preface.asciidoc | 3 + 8 files changed, 378 insertions(+), 6 deletions(-) create mode 100644 api/src/main/resources/beans_4_1.xsd diff --git a/api/pom.xml b/api/pom.xml index ce5af21c..329e3873 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -18,7 +18,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.enterprise.cdi-api diff --git a/api/src/main/resources/beans_4_1.xsd b/api/src/main/resources/beans_4_1.xsd new file mode 100644 index 00000000..29a048db --- /dev/null +++ b/api/src/main/resources/beans_4_1.xsd @@ -0,0 +1,369 @@ + + + + + + + + + + ... + + + The deployment descriptor may indicate the published version of + the schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd + + ]]> + + + + + + + Bean classes of enabled beans must be + deployed in bean archives. A library jar, EJB jar, + application client jar or rar archive is a bean archive if + it has a file named beans.xml in the META-INF directory. The + WEB-INF/classes directory of a war is a bean archive if + there is a file named beans.xml in the WEB-INF directory of + the war. A directory in the JVM classpath is a bean archive + if it has a file named beans.xml in the META-INF directory. + + When running in a CDI Lite environment, the bean-discovery-mode + attribute is the only configuration value read from a beans.xml file. + + + + + + + + + + + + + + The version of CDI this beans.xml is for. If the version is "4.1" (or + later), then the attribute bean-discovery-mode must be added. + + + + + + + + + + + + It is strongly recommended you use "annotated". This is now the default and it + is also the default as of 4.1 when an empty beans.xml file is seen. When running + in a CDI Lite environment, this is the only aspect of the beans.xml file that + is used. + + If the bean discovery mode is "all", then all types in this + archive will be considered. If the bean discovery mode is + "annotated", then only those types with bean defining annotations will be + considered. If the bean discovery mode is "none", then no + types will be considered. + + + + + + + + Only those types with bean defining annotations will be + considered. + + + + + + + All types in this archive will be considered. + + + + + + + This archive will be ignored. + + + + + + + + + + + + + element allows exclusion of classes and packages from consideration. Various filters may be applied, and may be conditionally activated.]]> + + + + + + + + would exclude all classes and subpackages of com.acme.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + would exclude all classes and subpackages of com.acme.]]> + + + + + + + + + + + + + + + + + + By default, a bean archive has no enabled + interceptors bound via interceptor bindings. An interceptor + must be explicitly enabled by listing its class under the + <interceptors> element of the beans.xml file of the + bean archive. The order of the interceptor declarations + determines the interceptor ordering. Interceptors which + occur earlier in the list are called first. If the same + class is listed twice under the <interceptors> + element, the container automatically detects the problem and + treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of an interceptor class. If + there is no class with the specified name, or if + the class with the specified name is not an + interceptor class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + By default, a bean archive has no enabled + decorators. A decorator must be explicitly enabled by + listing its bean class under the <decorators> element + of the beans.xml file of the bean archive. The order of the + decorator declarations determines the decorator ordering. + Decorators which occur earlier in the list are called first. + If the same class is listed twice under the + <decorators> element, the container automatically + detects the problem and treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of a decorator class. If + there is no class with the specified name, or if + the class with the specified name is not a + decorator class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + An alternative is a bean that must be + explicitly declared in the beans.xml file if it should be + available for lookup, injection or EL resolution. By + default, a bean archive has no selected alternatives. An + alternative must be explicitly declared using the + <alternatives> element of the beans.xml file of the + bean archive. The <alternatives> element contains a + list of bean classes and stereotypes. An alternative is + selected for the bean archive if either: the alternative is + a managed bean or session bean and the bean class of the + bean is listed, or the alternative is a producer method, + field or resource, and the bean class that declares the + method or field is listed, or any @Alternative stereotype of + the alternative is listed. + + + + + + + + Each child <class> element + must specify the name of an alternative bean class. + If there is no class with the specified name, or if + the class with the specified name is not an + alternative bean class, the container automatically + detects the problem and treats it as a deployment + problem. If the same class is listed twice under + the <alternatives> element, the container + automatically detects the problem and treats it as + a deployment problem. + + + + + + + + Each child <stereotype> + element must specify the name of an @Alternative + stereotype annotation. If there is no annotation + with the specified name, or the annotation is not + an @Alternative stereotype, the container + automatically detects the problem and treats it as + a deployment problem. If the same stereotype is + listed twice under the <alternatives> + element, the container automatically detects the + problem and treats it as a deployment problem. + + + + + + + + + + If an explicit bean archive contains the <trim/< element in its beans.xml file, types that don’t have + either a bean defining annotation (as defined in Bean defining annotations) or any scope annotation, + are removed from the set of discovered types. + + + + + diff --git a/el/pom.xml b/el/pom.xml index 0904f622..ebc636f9 100644 --- a/el/pom.xml +++ b/el/pom.xml @@ -13,7 +13,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.enterprise.cdi-el-api diff --git a/ide-config/pom.xml b/ide-config/pom.xml index cc0367a5..46e0e720 100644 --- a/ide-config/pom.xml +++ b/ide-config/pom.xml @@ -14,7 +14,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT cdi-ide-config diff --git a/lang-model/pom.xml b/lang-model/pom.xml index 42e20b29..c81d517b 100644 --- a/lang-model/pom.xml +++ b/lang-model/pom.xml @@ -13,7 +13,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.enterprise.lang-model diff --git a/pom.xml b/pom.xml index 12a52c5f..c2d31cdc 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent pom - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT Parent module for CDI Specification diff --git a/spec/pom.xml b/spec/pom.xml index 79e6d1d2..0548b5c2 100644 --- a/spec/pom.xml +++ b/spec/pom.xml @@ -13,7 +13,7 @@ jakarta.enterprise jakarta.enterprise.cdi-parent - 4.1.1-SNAPSHOT + 4.1.0-SNAPSHOT jakarta.enterprise.cdi-spec-doc diff --git a/spec/src/main/asciidoc/preface.asciidoc b/spec/src/main/asciidoc/preface.asciidoc index 7cb45cec..2af8b191 100644 --- a/spec/src/main/asciidoc/preface.asciidoc +++ b/spec/src/main/asciidoc/preface.asciidoc @@ -46,6 +46,9 @@ New methods have been added to `BeanContainer` to check <