Brian Andle created WW-5403:
-------------------------------

             Summary: Struts 2.5 to 6.x migration issues caused by removal of 
deprecated code within a minor release 
                 Key: WW-5403
                 URL: https://issues.apache.org/jira/browse/WW-5403
             Project: Struts 2
          Issue Type: Bug
            Reporter: Brian Andle


Created this Jira to represent the additional discussion in WW-5251 because 
there appears to be some breaking changes that could prevent Struts users from 
being able to successfully migrate to 6.x. Since these are the result of other 
tickets the discussion should be moved to a new Jira.

Text from my comments in WW-5251 which results in breaking changes, removal of 
deprecated methods, in a minor version update of the major version that 
introduced the deprecations.

This poses a possible risk to consumers of Struts who may need to attempt an 
upgrade to 6.x when 2.5 goes out of support in early 2024.

 

--------

I've started building our application locally and now hitting various compile 
issues, in our code, from https://issues.apache.org/jira/browse/WW-5304 (and 
others) . Specifically, at the moment, 
core/src/main/java/com/opensymphony/xwork2/ActionContext.java dropped 
`getName()` which wasn't marked as deprecated. Looks like 
`org.apache.struts2.interceptor.NoParameters` was also removed. I'm still 
working though building our app, one fail at a time.

Should these deprecations been dropped in minor releases as many were initially 
marked as deprecated in 6.0.0 with WW-4789 WW-3788 (and any others as I find 
them)?


I was able to get our app built, and started and light smoke test, and still 
maintain compatibility with our sister project (might not be the case with 
every Struts consumer though). Had to make the following additional adjustments 
to get from 6.1.2.2 to ~6.4.0.0/WW-5251 revert branch:
 * ActionContext.getContext().getName() _*->*_ 
ActionContext.getContext().getActionName()
 * org.apache.struts2.interceptor.NoParameters _*->*_ 
org.apache.struts2.action.NoParameters
 ** The `action` version does not exist in 6.1.2.2
 * 
actionInvocation.getInvocationContext().setParameters(HttpParameters.create(parameters).build());
 _*->*_             
actionInvocation.getInvocationContext().withParameters(HttpParameters.create(parameters).build());
 * Caffeine jar is now a required dependency 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to