-
Notifications
You must be signed in to change notification settings - Fork 86
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
EE9 Compatible Release #304
Comments
Hey @codylerum ! Nice to hear from you :D It's been a while. So, I haven't had a chance to actually look at anything in EE9, and I'd love to support this but am not really sure what it would entail. Any details you can provide? How complex would the migration be, and would it be backwards compatible? A PR would of course be welcome, but again, not sure of the complexity. |
@lincolnthree Not sure either of the scope, but I think the entire servlet API is moving from |
Yikes. I wonder why they opted to do that. Maybe an easier way to deprecate and force replacement of ancient APIs. |
I'd be grateful if you wanted to take a stab at this! |
I believe it ended up being a copyright issue when Oracle donated it to Eclipse. So there is going to be a firm demarcation between EE8 and EE9+ https://www.infoq.com/news/2019/05/end-of-javax-package/ Anyway I'll see if I can take a stab at it as I get closer to migrating my app to EE9. Honestly though I'm only using rewrite for a couple very simple things so I may just bring that in house and drop the rewrite dependency. |
Adding my two cents here: This definitely requires a new major version of rewrite. The Spring Team is going the same step with Spring Framework 6 and Spring Boot 3. This new major version of rewrite would be the perfect opportunity to address things like #240 and get rid of some very old stuff. As the first step for this, I suggest opening a "develop", "next" or "4.x" branch at which pull requests could then be targeted |
So, I've changed POM and namespaces and I was able to compile Rewrite, excluding tests. After changing maven properties I had to implements 2 or 3 methods but I didn't know how to implements these methods :). So, it seems all the work is to implements 2 or 3 methods and changing POM to support Java 17 and EE 9. I think it would be not to much work to update Rewrite to EE 9. |
@BorisYellnikov Hey! Sorry, I missed this message. Would you mind sending a PR for what you've done so far? And let me know what is still incomplete / which methods are needing implementation? I'd love to make this happen, I just haven't had a lot of time to do the research to figure out where to start. (Since I'm not working with Java EE at the moment and my current project has been really all-consuming.) I could most likely run with it and release a new version if you get me started! The tests are in sad shape :( Arquillian seems broken / unmaintained these days, unless I'm missing something. |
I did some time ago, so I don't remember exactly what i've done :). First what is to do is to change all namespace to jakarta. Next is to change in pom: I don't remember if I had to change source code in rewrite or in my HttpConfigurationProvider. I remove also tests and run manven with -DskipTests=true. I've ran mavan today and this is result. I don't know why maven claims on dependencies. NFO] Reactor Summary for rewrite-parent 3.4.5-SNAPSHOT: |
@lincolnthree Could you prepare a "develop"-branch for rewrite 4.0.0-SNAPSHOT which we can target our pull requests against? |
@BorisYellnikov Thanks! When you say "change all namespace to jakarta", can you give me an example? That's an interesting error, I'm not sure what would cause the sources jars to be missing in the build. Or why it would fail on them. I'll look into it. @larsgrefer Yes, I can do this tomorrow. Putting it on my todo list so I don't forget. |
This is old original namespaces import javax.servlet.http.HttpServletRequest; import org.ocpsoft.rewrite.event.Rewrite; /**
And new package org.ocpsoft.rewrite.servlet.http; import jakarta.servlet.http.HttpServletRequest; import org.ocpsoft.rewrite.event.Rewrite; /**
In general. All namespaces with javax should be change to jakarta in all EE specification namespaces. I think the most work will be to change all pom properties. Source code of rewrite should compile without problems without changes. |
@BorisYellnikov Ok thanks. This makes a lot of sense. I created a #develop branch for this work. |
Started looking at dependencies and pom issues 😭 |
I'll fix the snapshot version later. |
@lincolnthree I've opened #310 as first attempt to make the project buildable again. I'm not sure if its worth fixing the current containers, as we'll need JEE9 compatible ones anyways |
Thanks @larsgrefer - Merged. I agree about the containers. I also think deleting some of the very outdated integrations is probably in order. I think we can safely delete: Apache Shiro Thoughts? I got part way through the POM updates but had to stop. Planning on continuing over the weekend. |
PS. Does anyone know if there are any Arquillian updates for modern Jakarta EE containers? Is there a new equivalent test harness project we could use? |
@lincolnthree Servlet 2.5 and Servlet 3.0 can definitely go, since we'll have Servlet 5 baseline anyway. With the minimum Java Version being 1.8 now, Joda Time should be redundant, too. |
Hey guys. Sorry, I got pulled into some stuff over the weekend. I have not forgotten about this. It might take me a bit but this is happening. My schedule is absolutely wild right now. |
At least Tomcat 10 seems to be supported: arquillian/arquillian-container-tomcat#87 |
@larsgrefer That's good to know. Merging your new PRs now. Still crazy over here. Thank you for continuing to work on this. I am really sorry I am not able to be more helpful just yet. |
@larsgrefer Wow, I am blown away by the incredible work you have put in to the past few PRs. Thank you, seriously. What maven command are you running the updated tests with? (E.g. container specification - if any - etc.) |
Just In #316 I added a simple embedded Tomcat 9 to Some tests are still broken, but I'm not sure yet, why. |
@lincolnthree I think https://github.com/ocpsoft/common and https://github.com/ocpsoft/parent could use some updates to. Are there any other ocpsoft projects which still use |
@larsgrefer A few projects use them. I can cut some releases if you want to send PRs to do what's needed! Probably best to increment the major version for these as well. |
For new releases I agree with new major versions for each. |
@larsgrefer I completely agree. I think this makes total sense. I'll work on updating versions today. |
Seems like the automatic snapshot deployments are now working: #332 https://github.com/ocpsoft/rewrite/runs/6864680645?check_suite_focus=true So after you set the correct version numbers, we should forward-merge |
@larsgrefer Awesome! Version numbers are set. I had to force push and correct a simple mistake in the develop branch (within the span of about 2 minutes), so just in case you pulled during that time, that's what happened. |
@lincolnthree How would you like to continue with the two Everything happening in
I think Option 2 is "cleaner" and more elegant, but the forward-merges should be done by someone with direct write access to the repository. Forward merges via PR (like #336) are a bit tedious |
@larsgrefer Sorry for the delay. Getting caught back up in firefighting work stuff again. My guess is that this will probably be mostly an issue doing bugfixes, because I think the framework is fairly feature complete, but yes, I tend to agree. I think Option 2 is probably a bit cleaner, and I agree about a maintainer doing the work being easier, not sure I'd consider it a requirement though. This should be fairly painless assuming the two branches don't get too out of sync. I think Option 1 is fine if the contributor wants to go through that effort. I guess I don't really have a strong preference. |
@larsgrefer Can you update me on where the current PRs stand? There are a few open and I don't want to screw it up :) Do you want me to merge the PRs targeted at |
@larsgrefer Merged. Those both look good. Thanks for splitting the integration tests. I honestly have not learned how GitHub actions work yet, so I really appreciate this. |
@larsgrefer You are incredible. Thank you for all of this work. I owe you many beers. What's next? All tests appear to be green. Is it time to cut a preliminary release? |
Releasing a 4.0.0-m1 and 5.0.0-m1 sounds like a good idea |
4.0.0.Alpha1 and 5.0.0.Alpha1 have been released in Sonatype Nexus and should sync to central by tomorrow at latest :) Thanks you @larsgrefer, @pdurbin, @codylerum, and @BorisYellnikov for all of your amazing work in making this happen! And also thank you for your patience with me 😆 Apologies if I forgot anyone, I think @pdurbin was also submitting on behalf of a colleague. Please let me know how it goes during testing. |
With the release of prettyfaces/rewrite 5.0.0.Alpha1 they finally released a version compatible with at least Jakarta EE 9. This includes the patches @pdurbin applied to our local build, too. Removing the local built, too. See also: ocpsoft/rewrite#304
With the release of prettyfaces/rewrite 5.0.0.Alpha1 they finally released a version compatible with at least Jakarta EE 9. This includes the patches @pdurbin applied to our local build, too. Removing the local built, too. See also: ocpsoft/rewrite#304
@lincolnthree et al. thanks for the release and for reaching out! @poikilotherm has been digging in. Unfortunately, we're pretty sure even 5.0.0.Alpha1 isn't compatible with EE 10 so we opened #345. Please take a look when you get a chance. Thanks! |
With the release of prettyfaces/rewrite 5.0.0.Alpha1 they finally released a version compatible with at least Jakarta EE 9. This includes the patches @pdurbin applied to our local build, too. Removing the local built, too. See also: ocpsoft/rewrite#304
With the release of prettyfaces/rewrite 5.0.0.Alpha1 they finally released a version compatible with at least Jakarta EE 9. This includes the patches @pdurbin applied to our local build, too. Removing the local built, too. See also: ocpsoft/rewrite#304
Has anyone had a chance to test the Alpha releases for EE8 and 9 support? What was the outcome? |
Our next target is EE 10 so we're really only testing that. That is, we're looking at #345. We don't plan to use EE 9. Thanks. |
I tested |
Hi @lincolnthree |
Hey @raphisuter ! Definitely! Sorry the official "Final" release has been lagging behind. As I understands it, the Alpha seems to work (Final would just be a version bump unless someone finds an issue). I am trying to make time to get caught up on this and cut a release in the next few weeks. So please do let me know how it goes! |
Hi @lincolnthree
I'm not sure if I have to include this dependency if we are not using the spring integration. In the module which fails to build we use following dependencies
Any advice? Update Update 2 |
@lincolnthree hi! I see chatter here about 5.0.0.Alpha1 but should I inquire about 6.0.0.Alpha1 over in #345? |
This is released as rewrite Version |
Closing this as COMPLETED! |
Are there plans for an EE9 compatible release which targets the jakarta namespace?
The text was updated successfully, but these errors were encountered: