Community
Participate
Working Groups
During installation an installer should be able to precheck whether a given workbench based install meets the necessary requirements. Otherwise - a product has to lay down every component (e.g. JDT may not be in the target workbench but an installer can't safely tell) - the installer might complete and then on startup it may fail due to missing requirements One of the available install/update documents indicates the product should warn the user on install that the extension "may not" be configured as prerequisites are not met. This is not good. The right answer here is for eclipse to support a way for installers to detect that things will be ok rather than a blind install. It could start headless, do a dummy run through what is required/included and report back on success/failure.
The workaround for V5 will be for us to fully drop te entire product irrespective of whether or not we are installing on top of an existing product. Thus we are technically not blocked and so I have oly tagged this as major.
I believe this only happens when require is used, no ? In this case how can we user will install feature 1 that requires plugin 1 v 1.0.0, (the plugin is not included, it is required) 1) user has plugin 1 v 1.0.1 installed. We prompt the user saying it may not run, or shouldn't we and we should a) attempt to install 1.0.0 anyway b) not say anything and pretend it will work fine at runtime (higher version) 2) same but with lower version 3) the plugin does not exist. Should we force the user to search for it ? prevent the install like in linux ? IMHO I would prevent install on #2 and #3 and do not say anything for #1 considering it should be backward compatible Thoughts ?
We will not address this particular defect for 2.0.2, however we will touch 'requires' support in features and enhance it so that: 1) 'match' is supported (didn't work in 2.0.2) 2) requires on a feature (instead of a plug-in) can be specified. We beleive that the above two enhancements will address the problem.
The above sentence under 1) should read 'didn't work in 2.0.0/2.0.1'
Addressed in 2.0.2 - code rolled into 2.1.