-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Update to ASM 9.9 #1965
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
Update to ASM 9.9 #1965
Conversation
Godin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the record
here is a link to their changelog - https://asm.ow2.io/versions.html
and actual changes between versions - https://gitlab.ow2.org/asm/asm/-/compare/ASM_9_8...ASM_9_9
From this to me seems that this time there were no changes that could negatively impact us.
|
|
||
| <p> | ||
| <a href="https://asm.ow2.io/">ASM 9.8</a> is subject to the terms and | ||
| <a href="https://asm.ow2.io/">ASM 9.9</a> is subject to the terms and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did check that their license stayed unchanged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I did check the license file too
https://asm.ow2.io/license.html
I was a bit surprised that ASM is released under the following 3-Clause BSD License: was left out of the copy:
|
Apropos: will there be an Eclemma update soon? |
|
I'm still awaiting the Maven Central update for Orbit. I image the Maven Central publishing is a prerequisite for Eclemma as well. I know that sometimes it can take a while from when it's published to when it's visible here: https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/ |
|
@merks we do not publish releases for every merge of every PR 😉 but we do publish snapshots at https://central.sonatype.com/repository/maven-snapshots/ which unfortunately as of now doesn't allow to get list of files in browser, but they are downloadable by Maven. It took me quite some time, much more than usually 😪 , because of EOL of OSSRH service ( oss.sonatype.org ) and migration to Central Publisher Portal (central.sonatype.com) - #1896, but release has been staged - https://groups.google.com/g/jacoco-dev/c/wdKGT0rprS0/m/q9MlqmKzAQAJ So hope it will reach Maven Central tomorrow (Oct 8) after successful validation by @marchof Then after Orbit update, publishing of EclEmma milestone should not take long for me. |
|
Thanks for the update. Yes, the OSSRH thing has been a nightmare for me as well. 😱 |
|
Thank you for your effort and for the updates. It's all very much appreciated. ❣️ |
I see #1969 is fixed. Is there any ticket one can follow where one could see the state of the release tasks? If I understood it right,
I have Xtext PR eclipse-xtext/xtext#3528 that waits for ASM 9.9.0 being in Orbit. |
|
The Orbit builds are very careful to guarantee and test that the transitive closure of dependencies is complete, i.e., that everything in Orbit can be installed from what's in Orbit. (Much like is the case for the release train.) So the initial build step fails like this currently:
Imagine if you are a project that uses jacoco and uses Orbit and then one day sudden your target platform can't be resolved (in planner mode) because of missing dependencies. You'd not be very happy. It's of course possible that I could add both version of ASM to Orbit for a while, but this is the first time it's taken more than two days to resolve the issue (and, as you are probably aware, I really have way too much to do already). There's definitely a growing backlog of updates available. E.g., I noticed there is a new version of the following that I expect Xtext will want to consume. |
|
OK, I understand. So after we have jacoco 0.8.14 in Orbit, ASM 9.9.0 can be added to Orbit too, or are there other blocker? |
|
This is the only exceptional such case. It's rare to have such narrow bounds, I don't believe anyone has ever published an update for which the dependencies are not already available, and Orbit automatically updates everything that is available to update. Sometimes updates will have new dependencies, I think that happen with a recent batik update, but in that case I track them down and add them too. Yesterday I updated in the middle of Jetty 12.1.2 becoming visible; that was a little disconcerting to see a mix of version numbers So yes as soon I see the jacoco update available I will build a full milestone of Orbit because Lucene is updated and that's consumed by the Platform. I'll try to remember to ping on the Xtext issue... |
Usually our release process is not tracked via ticket, but via mailing list - here is a link for 0.8.14 - https://groups.google.com/g/jacoco-dev/c/wdKGT0rprS0/m/q9MlqmKzAQAJ
Eclipse EclEmma is part of Eclipse IDE distribution for Java, EclEmma requires JaCoCo, and JaCoCo requires strict version of ASM. And my understanding that for some reason multiple versions of ASM can't coexist in nowadays Eclipse IDE builds, whereas it was possible in past. And so while one can add multiple ASM versions to Orbit, this will break Eclipse IDE startup - AFAIR exactly this happened during ASM upgrade previous time. Maybe @merks can help to explain why? Personally I would really love to be able to have multiple ASM versions for one SimRel milestone, giving us a bit more time than 2 sleepless nights - there are a way too much pressure on us and hurry every time ASM releases. In past there were several examples of hard to diagnose regressions in JaCoCo due to changes in ASM behaivour and hurry with upgrade of it. BTW looking at ASM changelog https://asm.ow2.io/versions.html and actual changes https://gitlab.ow2.org/asm/asm/-/compare/ASM_9_8...ASM_9_9 I don't understand at all from where hurry with its upgrade is coming from. The only notable change is V26 constant for Java version whose development just started. But I multiple times pointed out to various Eclipse projects that in absence of other real changes in bytecode, there is workaround for new class file versions without ASM upgrade - see jacoco/org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java Lines 274 to 283 in 78d5eff
Please understand that we also have a lot of other important things to do - you know our primary job is not EclEmma and JaCoCo, not counting personal life. |
ASM 9.9.0 is in the 4.38 platform already, and I have product that uses latest 4.38 Platform, Xtext & other ASM based bundle (org.apache.commons.commons-compress - not ASM version restricted, because it is not relevant for apache compress) and all together can't co-exist in same target with multiple ASM versions without OSGI error So it is not about bytecode at all, it is about dependencies...
Sure, this applies for all of us, I believe. |
Why there was such a hurry for 4.38 platform to use ASM 9.9.0 if it is not about bytecode? |
|
This is why I asked about updating the Platform because I know this cycle exists: eclipse-platform/eclipse.platform.releng.aggregator#3385 (comment) I would not have agreed to the update the Platform if M1 were not already out. Now we have quite some weeks before M2 so I thought things would be quite relaxed and OK. I was not aware that would be some intrinsic pressure in Xtext. Does Xtext require ASM bundles in addition to those required by the Platform? I can fully empathize with @Godin's situation. ❣️ There's always way too much to do. This is why I try to help as much as possible (create a PR), and why I avoid pressure because I believe everyone is doing the best they can within their capacity. None of us like being pressured, and rightfully so! I can only express my gratitude for @Godin's efforts. 🏆 |
It always depends on bundle dependencies in given bundles set in given application. Dependencies & bundles change and with them problems appear and disappear :-)
To unblock this, we can't change compress to limit to 9.8.0 because it doesn't actually care, it just needs some minimal ASM version. We also can't change XYZ bundle, because it needs both Xtext & compress. |
No. So I've originally tried to use ASM from platform in Xtext "latest", but it looks like Xtext has multiple targets and all of them expect ASM from Orbit in same version. |
|
@merks FYI 0.8.14 available in Maven Central |
### What changes were proposed in this pull request? This PR aims to upgrade `JaCoCo` to 0.8.14 for official Java 25 support (and Java 26 experimental support). ### Why are the changes needed? `JaCoCo` 0.8.14 is the first version to support Java 25 officially and Java 26 experimentally. - https://github.com/jacoco/jacoco/releases/tag/v0.8.14 - jacoco/jacoco#1950 - jacoco/jacoco#1965 (Java 26) ### Does this PR introduce _any_ user-facing change? No. This is a test dependency. ### How was this patch tested? Pass the CIs. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #398 from dongjoon-hyun/SPARK-53987. Authored-by: Dongjoon Hyun <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>

#1964