Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Newcomers » Newcomers » How to smoothly migrate between versions?
How to smoothly migrate between versions? [message #1858871] Thu, 27 April 2023 12:13 Go to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
Hi all,

I'm trying to update Eclipse from 2021-12 to 2023-03.
This Eclipse installation is part of a software package that is deployed to developers company-wide. It includes several plug-ins, most notably ABAP Development Tools from SAP.

In the current installation (2021-12), the plug-ins reside in the Eclipse installation path (in C:\Program Files\...) under the "plugins" folder.
This way, they are shared and it is ensured that all developers use the same plugin versions and don't have to worry about installing them manually.
Workspace settings etc. are still stored per-user under "%localappdata%/.../workspaces/<workspace_name>".

The problem I'm now facing during updating to 2023-03 is the following:
If Eclipse notices that there is already a workspace (from the previous install and usage), it will launch the migration wizard.
The wizard takes over the preferences and projects. But, it does not recognize any plugin from the shared plugin folder and thinks that it has to re-install every plugin, see screenshot attached.

Even if the users try to execute the update, it will fail because of some missing dependencies. Anyway, we don't want the user to run the update manually.
Cancelling the wizard is possible, but Eclipse will only work correctly when restarting it after closing the wizard. Unfortunately, this will be too confusing for the users...

How can I provide a smooth migration for this update and for the future with these points?
- Take over workspace settings
- Use newest shared plugins
- Minimal effort for users

Or is there a general guide on how to manage Eclipse installations across multiple users?
Re: How to smoothly migrate between versions? [message #1858882 is a reply to message #1858871] Fri, 28 April 2023 07:11 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
This is a very complex question where it's not entirely clear to be why you get this behavior nor do I have significant experience with maintaining a read-only shared installation. It will be a challenge to find anyone with significant expertise to answer such a question.

Looking at the code, it boils down to org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.findUnitstoMigrate(IProfile, IProfile) finding a non-empty set of installable units. None of this depends on there being a previous workspace. For a read-only installation, p2 creates a surrogate installation in the <home>/.eclipse folder the first time the user runs that application. This creates a profile in that surrogate that's essentially a copy of that in the shared installation's profile. If you change the shared installation, the migration support will compare the old profile with the new/current profile. You can block this with -eclipse.p2.skipMigrationWizard=true in the eclipse.ini of the shared installation; I don't know what bad impact that will have. You mentioned a restart is needed and that's probably not going to happen if you block the checking.

I wonder if the wizard is presenting all installable units or just the ABAP ones. I can't tell from a picture showing alphabetically sorted IUs. My sense is that findUnitstoMigrate should remove from the set any IU that is simply being updated to a new version so that makes me wonder how the ABAP IUs have been installed into the shared installation?


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to smoothly migrate between versions? [message #1859052 is a reply to message #1858882] Tue, 09 May 2023 07:32 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
Thanks for the reply, Ed.

The Wizard shows all units, not just the ABAP ones.
They have been installed this way:
I had set up a fresh install of the Eclipse Platform, started it and installed all additional packages (ABAP for example) through the Install Software dialogue. Then I copied the plugins from the user-specific folder under %localappdata% to the plugins folder in the Eclipse installation path, so that they can be delivered to all users that request the whole Eclipse installation.
Maybe there is a better way?

[Updated on: Tue, 09 May 2023 07:34]

Report message to a moderator

Re: How to smoothly migrate between versions? [message #1859056 is a reply to message #1859052] Tue, 09 May 2023 10:43 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
This copying does not sound good at all. The shared read-only installation itself should be directly updated I think by running Eclipse as admin such that the installation has write access to update the itself properly, including updating the installation's profile.

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to smoothly migrate between versions? [message #1859101 is a reply to message #1859056] Thu, 11 May 2023 15:09 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
I would like to avoid the copying, but I saw no other way to install plugins into an installation that would be the template for a software rollout. The installation is not really a shared one, but one that is copied to all user's machines locally.

It was done like this because our machines are managed strictly and no regular user, not even developers, has administrational rights. So updating the installation regularly by ourselves is not possible. I must also say that it would complicate things too much for some Eclipse users and we would have to instruct every user on how to do the update and which additional plugins should be used with the new, updated version.
So, for the software rollout, I would need a headless way of updating Eclipse and its plugins and possibly also installing new plugins.
Re: How to smoothly migrate between versions? [message #1859103 is a reply to message #1859052] Thu, 11 May 2023 18:02 Go to previous messageGo to next message
Kabiru Usman is currently offline Kabiru UsmanFriend
Messages: 42
Registered: April 2023
Member
Rather than manually moving plugins, use Eclipse's "dropins" folder or the Eclipse Installer with Oomph for complex setups. Alternatively, start with a pre-packaged Eclipse version for your specific development environment (like ABAP) and add any additional plugins as needed. Lastly, consider using the Eclipse p2 director command-line utility for managing plugins. Ensure all users have compatible versions of Eclipse and plugins to avoid conflicts.
Re: How to smoothly migrate between versions? [message #1859110 is a reply to message #1859103] Fri, 12 May 2023 07:19 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
Thanks Kabiru.
I had read that the dropins folder should not be used anymore. I will try with the p2 director next.
Re: How to smoothly migrate between versions? [message #1859115 is a reply to message #1859110] Fri, 12 May 2023 09:14 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
Note that I'm really quite confused about how exactly you are managing this read-only installation. Somewhere you should have an installation that is not read-only that you can update directly. That one, assuming it supports roaming and is not using a shared bundle pool, can be copied to a read-only location. If you want to update, you should update that installation or create a new installation and copy the full result to the read-only location. You should not be copying bits and pieces...

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to smoothly migrate between versions? [message #1859145 is a reply to message #1859115] Mon, 15 May 2023 10:45 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
Okay, I'll try to explain it more in detail:

Our current installation of Eclipse 2021-12 was created like this:
- Extracted Eclipse platform ZIP into C:/Program Files/..., this should mean it supports roaming
- Installed additional plugins via "Install new software"
Then comes the part that might confuse you and might be wrong:
- Copy "plugins" folder from the installing users' Eclipse folder into the installation folder
-> This was done for two reasons:
-> The regular users later on should not be and are not able to download any plugins freely
-> The plugins should not take up space on every user's profile when they actually are the same for all users. The user profile is a synchronized folder and the program files folder not.

That was all done with an administrative user. Then the Eclipse installation (the "full result") is packaged and regular users can request it to be installed to their system.

Now, when I update the installation to 2023-03, I do the same procedure.
The problem is that Eclipse 2023-03 tries to install the old plugin versions (during the migration wizard) which seem to be somehow referenced in the user's profile (workspace). It doesn't notice that there are newer versions of them in the Eclipse installation folder.

[Updated on: Mon, 15 May 2023 11:12]

Report message to a moderator

Re: How to smoothly migrate between versions? [message #1861781 is a reply to message #1858871] Fri, 03 November 2023 12:54 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
Bumping this topic because I soon want to take up the update of Eclipse again, after I gave up in May.

I think my main question remains:
How can I make sure that an updated Eclipse does not try to install the plugins it finds in the user's profile from an earlier install?

And is usage of the "dropins" folder deprecated or fine?

I've tried with P2 director and Oomph, but they don't seem to solve that problem.
Re: How to smoothly migrate between versions? [message #1861782 is a reply to message #1861781] Fri, 03 November 2023 14:03 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
If you doesn't want to update, create a new installation in a new location and install into it only the thing you want.

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to smoothly migrate between versions? [message #1861784 is a reply to message #1861782] Fri, 03 November 2023 14:31 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
In fact, I don't need to update because the new install's plugins are newer than what the migration wizard tries to install from the user's profile.
But also, plugins that are not in the new install anymore (because they are not needed anymore) will be in the migration list. Can I somehow suppress the migration wizard completely? Still, this feels like it's not the right way.
Re: How to smoothly migrate between versions? [message #1861788 is a reply to message #1861784] Fri, 03 November 2023 15:37 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
You're asking about behavior of shared read-only installation. I have limited experience with that. Very few people have experience with that and I expect those who do don't come here to answer questions. Sorry. :-(

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to smoothly migrate between versions? [message #1861791 is a reply to message #1861788] Fri, 03 November 2023 15:57 Go to previous messageGo to next message
Jascha S is currently offline Jascha SFriend
Messages: 8
Registered: April 2023
Junior Member
I appreciate your will to help. Where else could I ask my questions?

The installation is not shared, every user has his/her own. But yes, it is read-only except for the user profile.
How should this normally work? Should every user trigger an update of their Eclipse installation on their own?

We would have to provide a virtual machine to every developer then, which is not only costly but also increases workload because of switching between the development machine and local machine all the time.
Re: How to smoothly migrate between versions? [message #1861793 is a reply to message #1861791] Fri, 03 November 2023 17:42 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33224
Registered: July 2009
Senior Member
Yes, it's shared read-only installation that each user can extend if they wish and that you can update centrally on their behalf when you wish. There just aren't experts around anywhere who can answer questions about this. You'd even have a hard time finding a paid expert to help you with this. Unfortunately that's how "free" works. People develop free things and then very often they move on...

Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:the installer won't open
Next Topic:Package and classpath tutorial?
Goto Forum:
  


Current Time: Sun Oct 06 23:51:47 GMT 2024

Powered by FUDForum. Page generated in 0.11001 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top