|[p2-dev] touchpoints and manipulators|
As the work on the p2 and Virgo integration moves forward I stumbled across an issue I thought was solved, but know I see we were just lucky and never had a chance of solving it with this approach.
In Virgo there are special artifacts that are available for deployment such as configurations and scoped plans.
I’ll take the configurations as an example.
So in order to deploy them there is a new touchpoint and a new install action, which takes the configurations published as IUs with iu properties and uploads them to config admin.
This leaves two touchpoints(Eclipse and Virgo) which both has commit capability and update the bundles.info, but the trouble is that the manipulators they use are different.
I thought that once the manipulator is initialized every touchpoint will use that instance but apparently this was a wrong assumption. :(
The results I observed are that depending on which touchpoint.commit gets called first by the engine, sometimes installed bundles are lost from the bundles.info because of the different manipulators.
For example EclipseTouchpoint writes first the b.info with correct data, as its InstallBundleAction was responsible for adding new bundles and then comes VirgoTouchpoint which has an already old view of the b.info and deletes the just installed bundles (overwrites the b.info)
Is there a nice way to use one and the same manipulator in all available touchpoints, or at least in all relevant touchpoints?