[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Prevent automatic update of execution environment incompatible features


My problem is this:

We have a product that has gone through several release iterations and many users have automatic updates enabled. We started to get reports saying that the functionality provided by our features disappeared when we pushed our last release. Closer investigation revealed that this was because we dropped support for JavaSE-1.6 and some existing installations were still on that platform. In other words, the automatic updates silently installed plug-ins that were incompatible with the users execution environment which in turn left them with a non-functional product.

I understand that theoretically, the product is not broken. It will run fine once they upgrade their Java installation. I'm very concerned though, about the lack of feedback. No warning prior to the install and all subsequent errors after the install are hidden in the error log. Even when found there they are somewhat cryptic [1].

My questions are:
- Why does p2 install plug-ins with unresolved EE requirements?
- Is there any way to prevent a feature to be installed if it contains plug-ins that are incompatible with the current EE?
- Is there any way to give the user more relevant feedback to make it clear that some functionality has been disabled due to EE incompatibilities?
- Is there a bugzilla somewhere where this is being discussed?

Thomas Hallgren

[1] Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"