Skip to content
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

Use specific version in update sites instead of latest #858

Open
chrylis opened this issue Oct 14, 2022 · 3 comments
Open

Use specific version in update sites instead of latest #858

chrylis opened this issue Oct 14, 2022 · 3 comments

Comments

@chrylis
Copy link

chrylis commented Oct 14, 2022

STS ships with update sites for Eclipse and Spring Tools that include the placeholder version latest. This is a constant source of trouble when minor version updates (Eclipse and Spring Tools are not semver'd) break other plugins. This normally is a hassle requiring half an hour of update Whac-A-Mole, but with the latest 4.16, an update to m2e was rolled out that has broken most installations.

Users who go with the defaults are the ones who are most likely to get bitten by "your computer is ready for Windows 11"-style updates. Let users select platform updates when they're ready for them instead of automatically performing version-incompatible changes.

@martinlippert
Copy link
Member

Thanks for reaching out @chrylis. I am not exactly sure what you are proposing. Can you explain that in more detail?

I agree that the upgrade to m2e was quite a difficult one, no question about that. But that should probably be reported to the m2e project directly, especially ways to make such an upgrade experience less painful. From the Spring Tools perspective, we tried to assemble the necessary parts, but manual user actions where needed here which was not optimal - totally agree about that.

There is already a preference that allows users to control whether the platform should check for updates automatically or not, so this is something users can control. Do you think about something else here?

Eclipse itself comes with a latest update repository setting, so having the Spring Tools 4 aligned with that seems to make sense. Or would you rather prefer to stay on a specific Eclipse platform version and the corresponding Spring Tools version, without any updates? What do you think?

@chrylis
Copy link
Author

chrylis commented Oct 24, 2022

Updating the Eclipse platform by a minor version tends to be a big cleanup task whenever you have any outside-STS plugins installed (GRECLIPSE is the particular dependency for my team). I would much rather have the default update site pinned to, e.g., Eclipse 4.24, and receive patch updates but not minor updates until I specifically upgrade my update sites. (Note that much of the difficulty here stems from the independent versioning for Eclipse, Spring Tools, and all the other plugins, so that naive users don't necessary recognize when robo-clicking through the Update wizard will introduce incompatibilities.)

@martinlippert
Copy link
Member

@chrylis I think you can achieve this by removing the default update sites for Eclipse as well as STS from the preferences and use the version-specific ones instead:

I think this setup would give you what you want: stay in the base Eclipse version + get updates for the latest STS releases that are compatible and specific for that Eclipse version.

Updates to Spring Tools component might result in the default latest update site being reintroduced to the preferences automatically, so you might need to manually remove those automatically added update sites each time you got an update of the latest Spring Tools components - which is a bit tedious, I agree.

Side note: Eclipse does not roll out any bugfixes or patch updates between releases, so this way of doing things would give you Spring Tools patch + minor updates only and for as long as we ship those updates for the Eclipse version that you use - which is typically for the time while the next Eclipse release is out. So if you are running on Eclipse 2022-12 (for example), you would get updates for the Spring Tools for that specific Eclipse release until Eclipse 2023-06 is released.

Hope this all makes sense and helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants