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?
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.