| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…akarta packages as well
…dded few required override methods
|
👍 looks like a good start but the PR feels incomplete. my idea about supporting jakarta/javax.servlet at the same time would have been converging towards moving all .rb bits that script the javax.servlet API into .java and than potentially use some kind of a weaving approach or the "migration" tool than Tomcat has to release 2 artifacts from the same build... 🤷 |
Sorry, something went wrong.
|
Exciting! This will obviously need to be rebased on master due to recent updates there, but I'm glad you've attempted this work.
I would tend to lean toward a hard version move as a 2.0 release myself. The old javax.servlet users have to be dwindling pretty fast these days. If we continued to maintain a 1.x line for a while that supports javax.servlet and provided 2.x for jakarta, we'd avoid any complex build situation and everyone would still be able to keep working with what they have. We might start dropping some deprecation warnings into the 1.x line at some point. @kares Are you opposed to this clean break, branching off 1.2.x and releasing a 2.x that uses only jakarta packages going forward? |
Sorry, something went wrong.
Not at all, just shared my personal opinions, think some folks might still be stuck with older versions here and there due "legacy" (enterprise) reasons. Thus was thinking about ways to support both wout having extra work (such as backports). I am very happy to see any effort such as this one (a full API rewrite) to keep the jruby-rack project going. Regarding this PR my only concern is that some methods feel like stubs and should be revisited implementation wise according to the servlet specification. |
Sorry, something went wrong.
|
Another option would be a new named gem that is jakarta-rack or something, but there may be transitive dependency issues getting RubyGems/Bundler to pick that up. |
Sorry, something went wrong.
… into jakarta-update
|
Thanks for all the comments. The branch is now synced with the latest master code.
I'm not an expert in java, so I don't know what the implementation should be. In most places I've just updated javax with jakarta and added those stubs as per the errors I've encountered. Anyone wanting to update those methods is welcome. |
Sorry, something went wrong.
# Conflicts: # pom.xml # src/main/java/org/jruby/rack/jms/DefaultQueueManager.java # src/main/java/org/jruby/rack/jms/QueueContextListener.java # src/main/java/org/jruby/rack/jms/QueueManager.java # src/main/java/org/jruby/rack/servlet/ResponseCapture.java # src/main/java/org/jruby/rack/servlet/RewindableInputStream.java # src/main/java/org/jruby/rack/servlet/ServletRackIncludedResponse.java # src/main/ruby/jruby/rack/queues.rb # src/spec/java/org/jruby/rack/mock/DelegatingServletInputStream.java # src/spec/java/org/jruby/rack/mock/DelegatingServletOutputStream.java # src/spec/java/org/jruby/rack/mock/MockAsyncContext.java # src/spec/java/org/jruby/rack/mock/MockHttpServletRequest.java # src/spec/java/org/jruby/rack/mock/MockHttpServletResponse.java # src/spec/java/org/jruby/rack/mock/MockHttpSession.java # src/spec/java/org/jruby/rack/mock/MockRequestDispatcher.java # src/spec/java/org/jruby/rack/mock/MockServletConfig.java # src/spec/java/org/jruby/rack/mock/MockServletContext.java # src/spec/java/org/jruby/rack/mock/MockSessionCookieConfig.java # src/spec/java/org/jruby/rack/mock/WebUtils.java # src/spec/ruby/jruby/rack/servlet_ext_spec.rb # src/spec/ruby/rack/jms_spec.rb
|
We're still some way away from being able to merge/release something like this given we haven't yet released 1.3.x and this would be another breaking change, however I have merged from master and fixed some quick win test problems with the PR. Right now the remaining (unit) test failures are missing class name jakarta.servlet.http.HttpUtils which is due to reliance on a deprecated utility from the old Servlet APIs which has finally been removed in 5.x onwards. After that I suspect there may be some other issues to resolve with the functional tests with Rails. |
Sorry, something went wrong.
# Conflicts: # .github/workflows/maven.yml # README.md # src/main/java/org/jruby/rack/UnmappedRackFilter.java # src/main/java/org/jruby/rack/servlet/ResponseCapture.java # src/spec/ruby/spec_helper.rb
For now, let's propagate this here, to allow moving forward. Need to step back and decide if this is still needed.
|
Temporarily propagated the removed javax.servlet.HttpUtils#parseQueryString into jruby-rack's code and at least the tests are all passing now. To get this over the line, we probably mainly need to
Ideally we'd also have some stronger Rails regression tests reinstated to bring more confidence in these bigger releases, but that's probably a nice-to-have. |
Sorry, something went wrong.
# Conflicts: # src/spec/ruby/jruby/rack/servlet_ext_spec.rb # src/spec/ruby/rack/embed/filter_spec.rb # src/spec/ruby/rack/filter_spec.rb # src/spec/ruby/rack/handler/servlet_spec.rb # src/spec/ruby/rack/tag_spec.rb # src/spec/ruby/spec_helper.rb
# Conflicts: # src/main/java/org/jruby/rack/servlet/DefaultServletRackContext.java # src/main/java/org/jruby/rack/servlet/ResponseCapture.java # src/main/java/org/jruby/rack/servlet/ServletRackResponseEnvironment.java # src/main/ruby/rack/handler/servlet/default_env.rb # src/spec/ruby/rack/handler/servlet_spec.rb # src/spec/ruby/spec_helper.rb
# Conflicts: # src/spec/ruby/jruby/rack/integration_spec.rb
# Conflicts: # src/main/java/org/jruby/rack/servlet/ResponseCapture.java # src/spec/java/org/jruby/rack/fake/FakePageContext.java # src/spec/java/org/jruby/rack/mock/RackLoggingMockServletContext.java
# Conflicts: # src/spec/ruby/spec_helper.rb
# Conflicts: # src/main/java/org/jruby/rack/logging/CommonsLoggingLogger.java
…11 during testing 1.3 and 2.0 will target Java 21+ (and likely JRuby 10.0+) only
| Back | FazBrowse Home | New Git URL |
Updated a few files with changes required for upgrade to Jakarta EE 9+. The jar is getting generated but test cases are not getting executed, will work on that.
Please let me know if there is something else that also needs to be checked. Also I did override a few required abstract method with empty/default value, would appreciate if you take a look at those.
Thanks.