Skip to content

Commit 4952c49

Browse files
committed
cd-inject-weld module-info
Signed-off-by: jansupol <[email protected]>
1 parent ced66fa commit 4952c49

File tree

16 files changed

+177
-34
lines changed

16 files changed

+177
-34
lines changed

core-client/src/main/java/module-info.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
exports org.glassfish.jersey.client.inject;
3131
exports org.glassfish.jersey.client.spi;
3232
exports org.glassfish.jersey.client.internal;
33+
exports org.glassfish.jersey.client.internal.inject to org.glassfish.jersey.incubator.cdi.inject.weld;
3334

3435
exports org.glassfish.jersey.client.innate to
3536
org.glassfish.jersey.apache5.connector,

core-common/src/main/java/module-info.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
org.glassfish.jersey.container.servlet,
6262
org.glassfish.jersey.container.jetty.http,
6363
org.glassfish.jersey.netty.connector,
64-
org.glassfish.jersey.ext.mp.rest.client;
64+
org.glassfish.jersey.ext.mp.rest.client,
65+
org.glassfish.jersey.incubator.cdi.inject.weld;
6566

6667
exports org.glassfish.jersey.innate.inject to org.glassfish.jersey.inject.hk2,
6768
org.glassfish.jersey.inject.cdi2.se,
@@ -80,6 +81,7 @@
8081
org.glassfish.jersey.ext.entity.filtering,
8182
org.glassfish.jersey.ext.metainf.services,
8283
org.glassfish.jersey.ext.mvc,
84+
org.glassfish.jersey.incubator.cdi.inject.weld,
8385
org.glassfish.jersey.gf.ejb,
8486
org.glassfish.jersey.security.oauth1.signature;
8587
exports org.glassfish.jersey.innate.virtual to org.glassfish.jersey.container.grizzly2.http,
@@ -104,14 +106,14 @@
104106

105107
opens org.glassfish.jersey.innate.spi to org.glassfish.jersey.media.multipart;
106108
opens org.glassfish.jersey.internal;
109+
opens org.glassfish.jersey.internal.util.collection;
107110
opens org.glassfish.jersey.message.internal;
108111
opens org.glassfish.jersey.spi;
109112

110113
uses jakarta.ws.rs.core.Feature;
111114
uses jakarta.ws.rs.container.DynamicFeature;
112115
uses jakarta.ws.rs.ext.RuntimeDelegate;
113116

114-
uses org.glassfish.jersey.innate.BootstrapPreinitialization;
115117
uses org.glassfish.jersey.innate.spi.EntityPartBuilderProvider;
116118
uses org.glassfish.jersey.internal.ServiceFinder;
117119
uses org.glassfish.jersey.internal.inject.InjectionManagerFactory;

core-server/src/main/java/module-info.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@
4747
exports org.glassfish.jersey.server.wadl.internal.generators.resourcedoc;
4848
exports org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
4949
exports org.glassfish.jersey.server.filter;
50-
exports org.glassfish.jersey.server.filter.internal to org.glassfish.hk2.locator, org.glassfish.hk2.utilities;
50+
exports org.glassfish.jersey.server.filter.internal to
51+
org.glassfish.hk2.locator,
52+
org.glassfish.hk2.utilities,
53+
org.glassfish.jersey.incubator.cdi.inject.weld;
5154

5255
exports org.glassfish.jersey.server.monitoring;
5356
exports org.glassfish.jersey.server.internal;
@@ -76,11 +79,18 @@
7679

7780
opens org.glassfish.jersey.server;
7881
opens org.glassfish.jersey.server.filter;
79-
opens org.glassfish.jersey.server.internal to org.glassfish.hk2.utilities;
82+
opens org.glassfish.jersey.server.filter.internal to
83+
org.glassfish.hk2.locator,
84+
org.glassfish.hk2.utilities,
85+
weld.core.impl;
86+
opens org.glassfish.jersey.server.internal to org.glassfish.hk2.utilities, weld.core.impl;
8087
opens org.glassfish.jersey.server.internal.inject;
8188
opens org.glassfish.jersey.server.internal.monitoring to org.glassfish.hk2.utilities;
8289
opens org.glassfish.jersey.server.internal.monitoring.jmx to org.glassfish.hk2.utilities;
83-
opens org.glassfish.jersey.server.internal.process to org.glassfish.hk2.locator, org.glassfish.hk2.utilities;
90+
opens org.glassfish.jersey.server.internal.process to
91+
org.glassfish.hk2.locator,
92+
org.glassfish.hk2.utilities,
93+
weld.core.impl;
8494
opens org.glassfish.jersey.server.internal.routing to org.glassfish.hk2.utilities;
8595
opens org.glassfish.jersey.server.model;
8696
opens org.glassfish.jersey.server.wadl.processor;

incubator/cdi-inject-weld/pom.xml

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@
3232

3333
<description>CDI InjectionManager implementation</description>
3434

35+
<properties>
36+
<surefire.security.argline>
37+
--add-reads org.jboss.logging=weld.core.impl
38+
--add-reads org.jboss.logging=ALL-UNNAMED
39+
--add-reads org.jboss.logging=weld.se.core
40+
--add-exports org.glassfish.jersey.incubator.cdi.inject.weld/org.glassfish.jersey.inject.weld=ALL-UNNAMED
41+
--add-exports org.glassfish.jersey.incubator.cdi.inject.weld/org.glassfish.jersey.inject.weld.binder.client=org.glassfish.jersey.core.common
42+
--add-exports org.glassfish.jersey.incubator.cdi.inject.weld/org.glassfish.jersey.inject.weld.binder.client=weld.core.impl
43+
--add-opens org.glassfish.jersey.incubator.cdi.inject.weld/org.glassfish.jersey.inject.weld.binder.client=weld.core.impl
44+
</surefire.security.argline>
45+
</properties>
46+
3547
<dependencies>
3648
<dependency>
3749
<groupId>org.glassfish.jersey.core</groupId>
@@ -84,9 +96,8 @@
8496
<dependency>
8597
<groupId>org.jboss.weld.se</groupId>
8698
<artifactId>weld-se-core</artifactId>
87-
<scope>provided</scope>
99+
<optional>true</optional>
88100
</dependency>
89-
90101
<dependency>
91102
<groupId>org.junit.jupiter</groupId>
92103
<artifactId>junit-jupiter</artifactId>
@@ -168,4 +179,24 @@
168179
</plugin>
169180
</plugins>
170181
</build>
182+
<profiles>
183+
<profile>
184+
<id>skip.modules.on.win</id>
185+
<activation>
186+
<!-- Scan on c: and on C:, resulting in two identical jars, hence fails with validation -->
187+
<os><family>Windows</family></os>
188+
</activation>
189+
<build>
190+
<plugins>
191+
<plugin>
192+
<groupId>org.apache.maven.plugins</groupId>
193+
<artifactId>maven-surefire-plugin</artifactId>
194+
<configuration>
195+
<useModulePath>false</useModulePath>
196+
</configuration>
197+
</plugin>
198+
</plugins>
199+
</build>
200+
</profile>
201+
</profiles>
171202
</project>

incubator/cdi-inject-weld/src/main/java/module-info.txt renamed to incubator/cdi-inject-weld/src/main/java/module-info.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,39 +19,43 @@
1919
requires jakarta.cdi;
2020
requires jakarta.inject;
2121
requires jakarta.interceptor;
22-
requires jakarta.servlet;
23-
// requires jakarta.persistence;
2422
requires jakarta.ws.rs;
2523

2624
requires java.logging;
25+
requires org.jboss.logging;
2726

2827
requires weld.api;
2928
requires weld.spi;
3029
requires weld.core.impl;
3130
requires weld.se.core;
32-
requires weld.probe.core;
3331
requires org.glassfish.grizzly.http.server;
3432

3533
requires org.glassfish.jersey.core.common;
3634
requires org.glassfish.jersey.core.client;
3735
requires org.glassfish.jersey.core.server;
38-
requires org.glassfish.jersey.container.servlet;
3936

4037
opens org.glassfish.jersey.inject.weld.internal.data;
4138
opens org.glassfish.jersey.inject.weld.internal.bean;
4239
opens org.glassfish.jersey.inject.weld.internal.inject;
4340
opens org.glassfish.jersey.inject.weld.internal.managed;
4441
opens org.glassfish.jersey.inject.weld.internal.scope;
4542
opens org.glassfish.jersey.inject.weld.internal.type;
46-
opens org.glassfish.jersey.inject.weld.spi;
4743
opens org.glassfish.jersey.inject.weld.managed;
44+
opens org.glassfish.jersey.inject.weld.internal.injector to weld.core.impl;
4845

4946
exports org.glassfish.jersey.inject.weld.internal.data;
5047
exports org.glassfish.jersey.inject.weld.internal.bean;
5148
exports org.glassfish.jersey.inject.weld.internal.inject;
5249
exports org.glassfish.jersey.inject.weld.internal.managed;
5350
exports org.glassfish.jersey.inject.weld.internal.scope;
5451
exports org.glassfish.jersey.inject.weld.internal.type;
55-
exports org.glassfish.jersey.inject.weld.spi;
5652
exports org.glassfish.jersey.inject.weld.managed;
53+
54+
uses org.glassfish.jersey.innate.BootstrapPreinitialization;
55+
56+
provides jakarta.enterprise.inject.spi.Extension with
57+
org.glassfish.jersey.inject.weld.internal.managed.BinderRegisterExtension;
58+
59+
provides org.glassfish.jersey.internal.inject.InjectionManagerFactory with
60+
org.glassfish.jersey.inject.weld.managed.CdiInjectionManagerFactory;
5761
}

incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/BinderRegisterExtension.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, 2024 Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2021, 2025 Oracle and/or its affiliates. All rights reserved.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -33,6 +33,7 @@
3333
import java.util.TreeMap;
3434
import java.util.concurrent.atomic.AtomicBoolean;
3535
import java.util.function.Supplier;
36+
import java.util.logging.Logger;
3637
import java.util.stream.Collectors;
3738

3839
import jakarta.annotation.Priority;
@@ -105,7 +106,9 @@
105106
* CDI extension that handles CDI bootstrap events and registers Jersey's internally used components and components registered
106107
* using {@link Application}.
107108
*/
108-
class BinderRegisterExtension implements Extension {
109+
public class BinderRegisterExtension implements Extension {
110+
111+
private static final Logger LOGGER = Logger.getLogger(BinderRegisterExtension.class.getName());
109112

110113
private final AtomicBoolean registrationDone = new AtomicBoolean(false);
111114
private Supplier<BeanManager> beanManagerSupplier;
@@ -679,6 +682,7 @@ public <T> T createAndInitialize(Class<T> createMe) {
679682
Constructor<T> constructor = createMe.getConstructor();
680683
return constructor.newInstance();
681684
} catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
685+
LOGGER.warning(e.getMessage());
682686
return null;
683687
}
684688
}

incubator/cdi-inject-weld/src/test/java/module-info.txt renamed to incubator/cdi-inject-weld/src/test/java/module-info.java.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022, 2023 Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2022, 2025 Oracle and/or its affiliates. All rights reserved.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,18 +14,23 @@
1414
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
1515
*/
1616

17-
open module org.glassfish.jersey.incubator.cdi.inject.weld {
17+
open module org.glassfish.jersey.incubator.cdi.inject.weld.test {
1818
requires jakarta.annotation;
1919
requires jakarta.cdi;
20+
requires jakarta.cdi.el;
21+
requires jakarta.el;
2022
requires jakarta.inject;
2123
requires jakarta.ws.rs;
2224

2325
requires java.logging;
24-
25-
requires junit;
26+
requires org.jboss.logging;
27+
requires org.junit.jupiter.api;
2628

2729
requires org.glassfish.jersey.core.common;
2830
requires org.glassfish.jersey.core.client;
2931
requires org.glassfish.jersey.core.server;
32+
requires org.glassfish.jersey.incubator.cdi.inject.weld;
3033
requires org.hamcrest;
34+
35+
exports org.glassfish.jersey.inject.weld.binder.client to org.glassfish.jersey.core.common;
3136
}

incubator/cdi-inject-weld/src/test/resources/META-INF/beans.xml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
4-
Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
4+
Copyright (c) 2021, 2025 Oracle and/or its affiliates. All rights reserved.
55
66
This program and the accompanying materials are made available under the
77
terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,5 +16,9 @@
1616
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
1717
1818
-->
19-
20-
<beans bean-discovery-mode="annotated" />
19+
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
20+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21+
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
22+
version="4.0"
23+
bean-discovery-mode="annotated">
24+
</beans>

tests/e2e-inject/cdi-inject-weld/pom.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@
3232

3333
<description>Jersey E2E Inject CDI SE tests</description>
3434

35+
<properties>
36+
<surefire.security.argline>
37+
--add-reads org.jboss.logging=weld.core.impl
38+
--add-reads org.jboss.logging=weld.se.core
39+
--add-reads org.jboss.logging=weld.environment.common
40+
</surefire.security.argline>
41+
</properties>
42+
3543
<dependencies>
3644
<dependency>
3745
<groupId>jakarta.enterprise</groupId>
@@ -40,7 +48,8 @@
4048
<dependency>
4149
<groupId>org.jboss.weld.se</groupId>
4250
<artifactId>weld-se-core</artifactId>
43-
<scope>test</scope>
51+
<!-- <scope>test</scope>-->
52+
<optional>true</optional>
4453
</dependency>
4554
<dependency>
4655
<groupId>org.glassfish.jersey.incubator</groupId>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright (c) 2025 Oracle and/or its affiliates. All rights reserved.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Eclipse Public License v. 2.0, which is available at
6+
* http://www.eclipse.org/legal/epl-2.0.
7+
*
8+
* This Source Code may also be made available under the following Secondary
9+
* Licenses when the conditions for such availability set forth in the
10+
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11+
* version 2 with the GNU Classpath Exception, which is available at
12+
* https://www.gnu.org/software/classpath/license.html.
13+
*
14+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15+
*/
16+
17+
module org.glassfish.jersey.tests.e2e.inject.cdi.inject.weld.main {
18+
requires jakarta.annotation;
19+
requires jakarta.cdi;
20+
requires jakarta.inject;
21+
requires jakarta.interceptor;
22+
requires jakarta.ws.rs;
23+
requires org.glassfish.jersey.core.common;
24+
requires org.glassfish.jersey.core.server;
25+
requires weld.se.core;
26+
27+
exports org.glassfish.jersey.tests.e2e.inject.cdi.weld;
28+
exports org.glassfish.jersey.tests.e2e.inject.cdi.weld.scopes;
29+
exports org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
30+
31+
opens org.glassfish.jersey.tests.e2e.inject.cdi.weld to
32+
org.glassfish.jersey.incubator.cdi.inject.weld,
33+
weld.core.impl;
34+
opens org.glassfish.jersey.tests.e2e.inject.cdi.weld.scopes to
35+
org.glassfish.jersey.incubator.cdi.inject.weld,
36+
weld.core.impl;
37+
opens org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources to weld.core.impl;
38+
}

0 commit comments

Comments
 (0)