Community
Participate
Working Groups
Currently, all constraintProviders, constraintBindings, etc. contributions are kept in a static registry, once initialized. This can cause problems, for instance in GMF project unit-tests which generate source code of plugins with emf.validation extensions that need to be verified. Any generated plugin loaded after the emf.validation bundle start(BundleContext context) method is called, does not get registered with the validation framework. A great improvement would be if emf.validation plugin makes use of extension addition/removal tracking mechanism provided by the platform and supports dynamic-awareness (http://wiki.eclipse.org/index.php/FAQ_What_is_a_dynamic_plug-in%3F).
This will be part of the 2.0 work. Cannot contain for 1.0
Est.: 1w
Committers can't contain this enhancement in their schedule; looking for help.
Postponing to the 1.2 release for consideration in the planning process.
Created attachment 105519 [details] Handle additions to constraintProviders and constraintBindings extpoints Rough solution. Handles addition only, as its quite tricky to implement removals without deep understanding of all the internals. Nevertheless, might be reasonable to have even without removals as it still helps scenarios with new bundles being installed.
Thanks, Artem, for the contribution! I agree that handling additions, at least, is valuable, but I should be able to process removals, too. I would also want to extend this pattern to the other extension points (e.g., language providers, traversals).
Committed handling of extension additions for all EMF Validation Framework extension points. Processing removals would require considerable changes to some basic assumptions in the framework, and isn't a very interesting case from a user perspective. The P2 and Update Manager UIs both make it very difficult to remove plug-ins, and the warning dialog suggesting to re-start is strongly worded. If somebody is using dynamically-generated bundles in their application, and not simply concerned with software install, then I will need help.
Fix available in HEAD: 1.3.0.I200811021725.
Restore original target after milestones were deranged.