-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Fixes #5475 Scan for updated ASM version #5479
Conversation
Scan for the highest known ASM version so we can always run on latest JVM if the ASM jar is updated.
@sbordet Can you review this one... @janbartel and I have gone over and over this and think this is the best way to find the highest known ASM version. |
What happens (with this change) in the following scenarios ... Scenario 1.
Expectation: this should work, no issue/failure. Scenario 2.
Expectation: this should work, no issue/failure. Scenario 3.
Expectation: this should work, no issues/failure. Scenario 4.
Expectation: this should work, no issues/failure. Scenario 5.
Expectation: this should work, no issues/failure. I can't put my finger on it (yet), but I think this PR would cause Scenario 4 and 5 to fail. |
I'm assuming that |
At any given time in the future, we will be using ASM version X. We will write our Normal deployment is ASM X jar with ASM X If a webapp is deployed using features from a JVM not known to X, then we discover X but ASM will fail because it doesn't know the new features. If the version of ASM is then updated to X+n that does know those new features, then we discover X+n, ASM handles the new features and calls the abstract visitor, which handles them as NOOPs If a webapp is deployed that only uses featues known X-n with ASM X-n, then so long as our The key think is that there is not a scenario where we can get either of the two problematic exceptions:
|
…st ASM Opcodes. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Scan for the highest known ASM version so we can always run on latest JVM if the ASM jar is updated. #5475