Home » Eclipse Projects » Oomph » Product Setup Update
|
Re: Product Setup Update [message #1704224 is a reply to message #1704158] |
Sun, 09 August 2015 06:31 |
Ed Merks Messages: 33258 Registered: July 2009 |
Senior Member |
|
|
Claudio,
Comments below.
On 07/08/2015 8:08 PM, Claudio Weiler wrote:
> On this
> https://wiki.eclipse.org/Eclipse_Oomph_FAQ#Oomph_seems_to_update_my_IDE._Should_I_still_use_standard_.22Check_For_Updates....22.3F
> it refers to an "automatic" update?
>
> So far I was able to update my product setup by going on menu Help >
> Perform Setup Tasks...
Yes, that's the intended way.
> There is a way to automatically update my Eclipse install as soon my
> product setup definition is updated and published?
No, that would involve periodic checking, and we have no such polling
mechanism in place.
>
> Also, menu Help > Perform Setup Tasks... is always enabled that is
> normal operation?
Yes.
> Should it be enabled only when there is tasks to be performed?
There are a number of tasks where the cost of checking if a perform is
needed is extremely expensive. E.g., the p2 task, targlet task, and
target definition task. In this case it must essentially load all the
metadata repositories and do a full resolve just determine if that
results in any real updates. This could take several minutes depending
on the internet speed and the number of repositories involved.
So there are generally always tasks (at least a p2 task) to be performed.
>
>
> Thanks!!
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: Product Setup Update [message #1704906 is a reply to message #1704224] |
Mon, 10 August 2015 14:28 |
Claudio Weiler Messages: 31 Registered: August 2015 Location: Brazil |
Member |
|
|
Hi Ed,
It appears that some tasks are executed on startup, see my post about SVN repositories.
Another questions that I forget in this context:
My product setup specifies a plugin with version range as [1.0.0,1.1.0) and the actual version is 1.0.0, when version 1.0.X is released what will happen? There is an automatic update for this or just triggered? What happen to other installations that use this same plugin when 1 installation is updated?
My Eclipse is configured with automatic updates for each start with automatic download and it notifies me just for install. This will break Oomph p2 pool and I should disabled it?
Thanks!!
[Updated on: Mon, 10 August 2015 18:35] Report message to a moderator
|
|
|
Re: Product Setup Update [message #1704950 is a reply to message #1704906] |
Tue, 11 August 2015 05:59 |
Ed Merks Messages: 33258 Registered: July 2009 |
Senior Member |
|
|
Claudio,
Comments below.
On 10/08/2015 4:28 PM, Claudio Weiler wrote:
> Hi Ed,
>
> Another question? I forget in this context:
>
> My product setup specifies a plugin with version range as
> [1.0.0,1.1.0) and the actual version is 1.0.0, when version 1.0.X is
> released what will happen? There is an automatic update for this or
> just triggered?
Oomph doesn't do automatic updates. When an update is available and you
manually perform the setup tasks, the p2 task will perform and will find
the updates (and will update if the available updates are within the
version range of the requirement).
> What happen to other installations for this same plugin when 1
> installation is updated?
The bundle pool is shared, so it will contain all bundles from all
installations, but each installation determines (via p2 tasks that
update the installation profile) which of those bundles are actually used.
>
> My Eclipse is configured with automatic updates for each start with
> automatic download and it notifies me just for install. This will
> break Oomph p2 pool and I should disabled it?
It just won't use the pool (I think!), and it definitely won't respect
the version range restrictions you've specified in your p2 tasks. It
won't break anything (other than not respecting the version ranges).
>
>
> Thanks!!
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
| | | |
Re: Product Setup Update [message #1705179 is a reply to message #1705175] |
Wed, 12 August 2015 15:56 |
|
Am 12.08.2015 um 17:40 schrieb Abel Hegedus:
> Oomph itself doesn't do _automatic_ updates. It will execute the p2 director tasks when you trigger the task (e.g. by
> "Perform setup tasks").
>
> The automatic update of Eclipse is a different mechanism and it may also install versions that Oomph would not (e.g.
> if your setup requires a specific version of bogus [1.0.0,1.0.0]).
>
> So the regular update mechanism does not break Oomph, but it may lead to versions that the project setup would not
> allow. That in turn could lead to problems in your workspace projects (e.g. compile errors).
>
> Since installation A and B have two different p2 profiles, pA and pB, the version when starting installation B will be
> 1.0.0.
> Your p2 bundle pool will store both 1.0.0 and 1.0.1 versions of bogus and pA will use 1.0.1, while pB will use 1.0.0
Exactly. Eclipse's update might produce a different resolution than Oomph's update. But no matter what the resolution
would be, it'll always be installed into the bundle pool if the profile was initially created with a shared bundle pool.
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
|
|
| | |
Re: Product Setup Update [message #1751409 is a reply to message #1712874] |
Mon, 09 January 2017 23:21 |
|
Hi
According to http://eclipsesource.com/blogs/tutorials/oomph-basic-tutorial/ :
...
The Oomph Updater is responsible for keeping an existing Eclipse instance up-to-date once it has been created. Therefore, on every start-up, it checks the product setup model for any changes in the configuration. If there are any changes, e.g. a new bundle has been added, it will apply those changes automatically to the existing Eclipse instance.
....
Is it correct? Because I had the impression that the steps for updating an existing installation are summarised below:
• First run the installer. The installer respects version ranges acceptable. Update includes:
o Eclipse installer
o Eclipse product and project models
• However, Oomph doesn't do automatic updates. So, you have to manually update an existing Eclipse version by >Perform Setup Tasks after the installer update.
Thank you in advance
Nikos
|
|
|
Re: Product Setup Update [message #1751418 is a reply to message #1751409] |
Tue, 10 January 2017 07:55 |
Ed Merks Messages: 33258 Registered: July 2009 |
Senior Member |
|
|
On startup, the setup task performer performs with Startup trigger. There are three trigger values, Bootstrap, Startup, Manual. Specific setup tasks are inherently capable of performing only one certain triggers. Many can perform on all triggers, some can only perform on certain triggers. For example, the Git Clone task can only perform in the IDE so cannot perform for Bootstrap time. This is why the cloning isn't done while the installer is running but rather after the IDE launches and in that IDE. When you author a setup task, via the advanced properties, you can further restrict the which triggers the will result in the setup task being considered for performing. In addition to that, some setup tasks behave differently depending on the trigger. The p2 task is one such example. On manual trigger it always return true for isNeeded. That's because there is no cheap way to determine if any update sites have any updates to any installable units that could be installed into the installation. So the p2 task performs, and if there are any updates available, it installs them. This is the reason one could claim that Oomph doesn't do any automatic updates. However, on manual trigger the isNeeded testing for the p2 task is a bit fancier. It checks to see that all the requirements specified by the setup task are satisfied by the installable units in the current profile. Given that the requirements can specify version ranges, this testing can be quite specific. So if your product version definition changes, i.e., the version range of a requirement is changed, or a new requirement is added, you can ensure that on next startup, existing installations will notice those changed/new requirements aren't satisfied and will perform the p2 task to update the installation automatically. This is the reason one could claim that Oomph does automatic updates.
One situation where this arose is that the generated product catalog has version ranges for the requirements. E.g., each mars product version has<?xml version="1.0" encoding="UTF-8"?>
<p2:Requirement
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:p2="http://www.eclipse.org/oomph/p2/1.0"
name="org.eclipse.platform.feature.group"
versionRange="[4.5.0,4.6.0)"/>
Moreover, there are two "moving target" product versions, latest and latest.released. When a release happens or a new release stream starts, e.g., Neon released in June, Oxygen stream started a few months later, the generator updates these product versions to be copies of the Neon or Oxygen product versions. So before the Neon release, latest.released was a copy of Mars, but after the release it was a copy of Neon. As a result, on startup, any user who installed with latest.released were automatically updated from Mars to Neon. Some people found this surprising and confusing, so we added support for an optional prompt to warn when the p2 task automatically performs on startup.
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: Product Setup Update [message #1751429 is a reply to message #1751418] |
Tue, 10 January 2017 10:03 |
|
So a simple lazy guide could be:
- Run the installer and install a product/project with plugins.
- In order to update the IDE:
a) Run the installer again in order to update the setup models
b) Run the IDE
b1) Some tasks are executed automatically due to the updated product/project setup model
b2) Some tasks like .p2 can be executed only manually
If we agree on this, it is quite simple from now on.
|
|
|
Re: Product Setup Update [message #1751437 is a reply to message #1751429] |
Tue, 10 January 2017 11:27 |
Ed Merks Messages: 33258 Registered: July 2009 |
Senior Member |
|
|
For a), the IDE will update (re-fetch remote resources) automatically on startup, so no need to run the installer to force that. In an already-running IDE, you can use Preferences -> Oomph -> Remote Resources -> Refresh Remote Cache... to force setup models to reload to be sure you have the latest versions of the remote resources, so no need even to restart. You can always Perform Setup Tasks manually to pick up any changes that might result from changes to remote update site; the p2 task will always perform when triggered manually. The p2 task will only perform on Startup if the installation does not satisfy the requirements. So simple guide would be "refresh remote resources and then perform setup tasks". Then for sure your environment will match the remote setups and the latest available updates from any update sites.
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Goto Forum:
Current Time: Sun Dec 08 00:20:37 GMT 2024
Powered by FUDForum. Page generated in 0.04329 seconds
|