-
Notifications
You must be signed in to change notification settings - Fork 118
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 the dependencies to newer minor versions #1146
Conversation
I can't tell if the failure is related to the changes. Maybe some version needed to be incremented? |
The feature needs a version increment:
|
Yes, that make sense. I was just using the github edit file functionality on a web page to create this patch, but I don't think I can use that to add another edited file to this PR. At least I don't know how to do that so maybe there is a way I don't know about... |
It is not very obvious, but it works the following way:
|
I see! That's cool!! Should I go with the suggest version 2.2.0? |
Yes, we currently try out the new enforced rules at m2e and I don't see anything wrong here wit 2.2.0 |
I went with 2.2.0. Given it's so easy to change, it can be adjusted if that's not the version we want... |
That's fine. Die Overall M2E 'branding' Version is at 2.2 anyways. Regarding the Update of takari-workspace cli: IIRC this requires Code changes. Therefore expect this simple Update to fail. |
Yes, I wondered about that version being "ignored" because it's also a very old version and is only a few days newer than the previous version: https://repo1.maven.org/maven2/io/takari/m2e/workspace/org.eclipse.m2e.workspace.cli/ So it seemed kind of deliberate to use a back-level version... |
@HannesWell This is probably the failure you were expecting. I'll be out of office until Tuesday and need to leave now... |
Thank you Ed! |
Yes, I'm automating everything... The analyzer depends only on what's available in the JRE. It produces a report for each *.target that it processes (while building a composed *.target), recording the *.target as it exists in git as well as the version after applying updates. It only applies minor version updates. Here is how it looks in my workspace, comparing the before and after versions of the m2e *.target: The report can be pasted into any github issue or PR like this: Target Platform: target-platform.targetMinor UpdatesMajor UpdatesUpdates AppliedContent
Probably each project will want its own job to run such a thing so I'm trying to keep things flexible and reusable... And yes, I have no clue about Ruby for deeper dependabot integration.... |
Sounds interesting. Thank you for your elaboration. |
I also noticed from this change that I now have resolution errors in my TP because eclipse.lsp4j requires gson 2.9.1: I'm surprised the build passed with that and I wonder why lsp4j has such tight version ranges. |
Short answer is that com.google.gson wasn't doing strict semantic versioning so we locked down the versions to what we were testing. Some more details of when we restricted the range are found in this comment thread. I am more than happy to open up the range/change lower bound to 2.10.0. A newer version is needed in Orbit and/or the LSP4J gradle build needs to be updated some other way to consume direct from Maven. The version restriction is coded here: https://github.com/eclipse/lsp4j/blob/b17a5f1c6f2f0a05901fcfc47f11f98d2b303f5f/gradle/versions.gradle#L19 |
PS and FWIW the gson 2.10.0 looks like a safe change API wise compared to 2.9.1. I attached the japicmp report (zipped up) |
Yes that's an annoying thing with Guava and Gson. :/
Great, I just created eclipse-lsp4j/lsp4j#690 to widen the range. I hope that is sufficient for you. Since I'm not familiar with Gradle and have also many other open tasks I would prefer to leave the task of updating deps to you or others from the lsp4j team. |
Until that is available I will revert this PR to be able to launch M2E from my dev workspace. |
This reverts commit b8a7fb3.
I remember asking way back when, "Without Orbit how will we coordinate using single common version?" and the answer was "In my experience, the only way to make that work is everyone uses the latest version?" But that seems kind of an impossible task too. 😞 It's a rapidly moving target where this is m2e's state (where I don't really see a revert): Minor UpdatesThe platform is also falling behind: Minor Updates |
This reverts commit b8a7fb3.
The first two are unfortunately dependencies were we depend on others, be it lsp4j or slf4j. :/ The io.takari.m2e.workspace is indeed something we could change, but since nothing is happening in that library and that update is not critical, nobody stepped up yet to do do the necessary adjustments in m2e. |
Thanks @HannesWell for the PR on LSP4J, I have approved the variant for merging. As for coordinating versions that also requires LSP4J release everytime a new version of a dependency comes in. I am pretty happy to release LSP4J quite often. Follow along with eclipse-lsp4j/lsp4j#685 and add your input there on when you want an LSP4J release. |
Thanks for that offer. After investigating that a bit deeper (due to #1197 (comment)) I noticed that a matching version is actually present in the TP. Therefore I assume that PDE somehow fails to resolve that properly, but I'll investigate that in PDE. |
Fixes #1145