Install requirements on startup "Always" not working [message #1799264] |
Mon, 03 December 2018 11:55  |
Eclipse User |
|
|
|
I use Eclipse Installer to install my product from a product "latest" repository.
I'm expecting Oomph to install new product feature/plugin versions in a repository pointed to by the product setup file upon startup. The Oomph preference "Install requirements on startup" set to Always. But new feature/plugin versions in the repository are not installed on startup.
If I manually select Help>Check for Updates the updates are found and I can install the updates. But my hope is that my users don't have to perfrom this manual step.
I'm not using version codes in the setupTask. In the setup editor version is set to 0.0.0. My thinking is 0.0.0 should cause the latest feature/plugin versions in the repository to install on startup. Is that correct?
Can anyone explain why the "Install requirements on startup" Always might not be working?
I see "Setup check" appear in the lower right task area for a second or so but nothing appears to happen.
My product is built on Eclipse Neon.
My product has org.eclipse.oomph.setup.ui installed.
I read the "Product Setup update" thread but did not glean a solution to my problem.
Thanks.
|
|
|
|
Re: Install requirements on startup "Always" not working [message #1799288 is a reply to message #1799272] |
Tue, 04 December 2018 01:31   |
Eclipse User |
|
|
|
Version ranges on the p2 director task's requirements is the way to force an update on startup. The way this works is that org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(SetupTaskContext), for startup trigger, compares the task's requirements against what is currently actually already installed. So not only must the required unit be present (if not optional ), it must lie within the version range of the requirement; note that as a version range 0.0.0 is all inclusive, i.e., all versions are within this range. If the current installation already satisfies the requirements, the p2 task is not needed.
There is no other proper way to force a full update on startup. The cost of actually checking the repositories for updates is very high. It involves not only loading all the repositories, which is in and of itself expensive, but also involves computing a prerequisite plan to see if there are any actual updates for the requirements relative to what's actually already installed, which is also expensive.
Note that our product catalogs are generated, so the "latest" and "latest.released" have version ranges that change over time (and also the repositories change over time) to force updates on startup. Changing the range (the setup) is the only way to force an update...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05279 seconds