From: Mario Pierro
Sent: den 15 november 2011 14:42
To: 'p2-dev@xxxxxxxxxxx'
Subject: Inconsistent custom action behavior
Hello,
I am trying to execute a custom action during installation of a feature in the Eclipse CDT distribution. While this works correctly in most cases, I am finding that on some machines the installation results in the following error:
"An error occurred while configuring the installed items session context was:(profile="" phase=org.eclipse.equinox.internal.p2.engine.phases.Configure,
operand=null --> [R]com.iar.cdt.arm.debugger.feature.feature.group
0.12.0.v201111101709,
action="">
No action found for: com.iar.installer.arm.resetDsfStepDelay.
No action found for: com.iar.installer.arm.resetDsfStepDelay."
The action is declared in the following p2.inf file
provides.0.namespace=org.eclipse.equinox.p2.engine.actions
provides.0.name=com.iar.installer.arm.resetDsfStepDelay
provides.0.version=1.1
and the plugin containing the action itself (com.iar.installer.arm) declares it like this
<extension
point="org.eclipse.equinox.p2.engine.actions">
<action
class="com.iar.installer.arm.actions.ResetDsfPreferencesAction"
name="resetDsfStepDelay"
touchpointType="com.iar.hubble.releng.touchpoint"
touchpointVersion="1.0"
version="1.1">
</action>
</extension>
<extension
point="org.eclipse.equinox.p2.engine.touchpoints">
<touchpoint
class="com.iar.installer.arm.touchpoints.ResetPreferencesTouchpoint"
type="com.iar.hubble.releng.touchpoint"
version="1.0">
</touchpoint>
</extension>
The p2.inf file for the feature requiring the action is
metaRequirements.0.namespace=org.eclipse.equinox.p2.engine.actions
metaRequirements.0.name=com.iar.installer.arm.resetDsfStepDelay
metaRequirements.0.range=1.1
instructions.configure=com.iar.installer.arm.resetDsfStepDelay();
As I mentioned, this works correctly in most cases, but on some machines it fails with the reported error. As the plugins are unsigned, I can see the p2 dialog asking for unsigned install twice: first for the plugin containing the action and its dependencies, and then for the feature requiring the action.
After the error has appeared, the plugin containing the action and its dependencies are installed, while the feature using the action has not.
As this is the first time I am using custom p2 actions, I am unsure whether I am doing things in the correct way. There seems to be no specific system configuration which is associated to the failure.
Thanks for your help!
/Mario Pierro