How are properties evaluated in eclipse?

106 Views Asked by At

Please read with patience, I tried my best to explain the situation, if not please comment -

I have two plugins say A, B. In both of the plugins I defined an "and" expression for a command. One of the conditions in the "and" expression is to test a property lets say myprop. A doesn't depend on B and B doesn't depend on A.

There is a property tester defined in a third plugin lets say C. A , B both depend on C.

And in a fourth plugin D, the extension point for org.eclipse.core.expressions.propertyTesters is defined and the list of properties to be tested by tester defined in plugin C.

A, B depends on plugin D too.

I see a strange behavior in eclipse - Only when perspective defined by plugin B is active the property tester for myprop is called. So when RCP starts if plugin B is not already active, property tester doesn't test the property myprop and it returns unexpected value when I am in perspective of plugin A.

Later when I bring up perspective of plugin B, the property tester tests myprop and the plugin A then starts working properly.

Question : Why the property tester needs plugin B to be active ? How are properties evaluated by eclipse framework, is there an order ? or actually I should ask : When and how is a property tester for a particular property triggered ? Is there any documentation about it?

1

There are 1 best solutions below

3
On BEST ANSWER

You probably need to specify forcePluginActivation="true" on the test element of your expression as it sounds like the plugin containing the property tester has not activated by anything.