-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove use of Jakarta Deployment #211
Comments
Regarding the impact of removing javax.enterprise.deploy, src/com/sun/ts/lib/porting/TSDeploymentInterface2.java is based on the deployment model, which is likely used by some Jakarta EE server implementations for testing against the Platform TCK. Investigate the below classes to help determine the impact of removing Deployment: src/com/sun/ts/tests/j2eetools/deploy/platform/ee/tmoduleid/tmoduleidClient.java |
@dblevins mentioned a blocker here could be that the TCK uses Jakarta Deployment itself to deploy tests unrelated itself to Jakarta Deployment. However, the web profile doesn't have Jakarta Deployment, so at least everything in that profile must be using something else to deploy tests. Maybe the tests that now use Jakarta Deployment to deploy tests can be updated to use whatever the web profile tests are using? |
True, GlassFish v6 will not likely include a JSR-88 implementation. This will impact other EE implementations as well. |
I need to refresh my memory on the TCK deployment interfaces. I think your right but I forget what all of the options are. I wonder if it would be allowed to repackage some JSR-88 impl + api classes under a different package name, so they could be used for deployment (along with updated com.sun.ts.lib.deliverable.cts.deploy classes that also use the repackaged JSR-88 classes). |
Jakarta EE implementations may currently use an implementation of com.sun.ts.lib.porting.TSDeploymentInterface2 (JSR-88 based) + com.sun.ts.lib.porting.TSDeploymentInterface (not JSR-88 based), for running the Platform TCK. So, I think there are a few options to choose from that are worth raising on a mailing list for discussion:
|
Note feedback from jakartaee-platform-dev ml discussion started on April 22, 2020. Also Platform meeting notes for April 28, 2020 On Tuesday, April 28, 2020, Scott Stark starksm64@xxxxxxxxx wrote: From Scott Stark:
From Arjan Tijms:
jsonb-api/pull#221 brought in some Arquillian support to the jsonb-api fork of JSONB platform TCK testing. |
Regarding deployment API, since EE 9 implementations can no longer depend on JSR-88, they will need to expose an equivalent facility in their EE implementations and have a Platform TCK replacement for the JSR-88 interfaces (e.g. the new TCK SPI for deployment) that they can adapt their EE server implementation to use, in their porting library. @starksm64 is ^ what you had in mind regarding a new TCK SPI for deployment? @dblevins does ^ address your concern about dropping JSR-88 support from the Platform TCK? |
Perhaps the new TCK deployment SPI could be a fork of the JSR-88 interfaces, only without the javax package (e.g. switch for jakarta). |
I'm guessing that @dblevins is talking about the com/sun/ts/tests/servlet/ee/platform/negdep tests calling Jakarta Deployment classes, with regard to the TCK using Jakarta Deployment itself to deploy tests unrelated to Jakarta deployment. Currently, the src/com/sun/ts/lib/harness/keyword.properties file has the negdep tests as javaee_web_profile_optional but that doesn't really help us, but thought I would mention it: IMO, if we replace use of Jakarta Deployment with a new Platform TCK porting layer SPI (e.g. jakarta.enterprise.deploy.* or something), then we could update the com/sun/ts/tests/servlet/ee/platform/negdep tests to use that. Another (later) option could be removing the src/com/sun/ts/tests/servlet/ee/platform/negdep tests if we cannot get them to work. |
Started some minimal changes on scottmarlow/jakartaee-tck/tree/prunedeployment that just removes j2eetools/deploy tests and updates related files that reference them. |
Regarding the tests that deploy tests unrelated itself to Jakarta Deployment, they appears to be under com/sun/ts/tests/servlet/ee/platform/negdep, which I think are technically Jakarta Deployment related as per how they are classified in keyword.properties:
So, if we pruned Jakarta Deployment from Jakarta EE 9, I think that we should also remove the negative deployment tests. user_guides/jakartaee/src/main/jbake/content/using.adoc, shows the mapping of Jakarta Deployment to javaeedeploy_optional:
Based on this, I'll add a commit for removing the com/sun/ts/tests/servlet/ee/platform/negdep tests. |
Since GlassFish 6.0 is expected to remove the pruned Jakarta Deployment classes, what should the com.sun.ts.lib.implementation.sun.javaee.SunRIDeployment2 use instead of Jakarta Deployment? |
Could GlassFish 6.0 switch to use com.sun.ts.lib.porting.TSDeploymentInterface based deployment via com.sun.ts.lib.implementation.sun.javaee.glassfish.AutoDeployment? Some comments from AutoDeployment:
|
It seems to me that the Jakarta Platform TCK already has a standard SPI that can work without Jakarta Deployment and that is com.sun.ts.lib.porting.TSDeploymentInterface, so no new SPIs are needed. Option C doesn't really make sense as com.sun.ts.lib.porting.TSDeploymentInterface2 is different than com.sun.ts.lib.porting.TSDeploymentInterface. Will take another look at Option B. |
Look for use of Jakarta Deployment and remove use of: javax.enterprise.deploy.model, javax.enterprise.deploy.model.exceptions, javax.enterprise.deploy.shared, javax.enterprise.deploy.shared.factories, javax.enterprise.deploy.spi, javax.enterprise.deploy.spi.exceptions, javax.enterprise.deploy.spi.factories, javax.enterprise.deploy.spi.status
Also document impact on use of Platform TCK.
The text was updated successfully, but these errors were encountered: