[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] how to install the product and custom actions at the same time

Hello,

 

I have a question about custom touchpoint action.

 

I am trying to implement a set of custom touchpoint actions (my.p2.actions.plugin) to install our plugin (my.feature.plugin). my.p2.actions.plugin is not yet installed in Eclipse.

 

Could I package my.p2.actions.plugin and my.feature.plugin into one feature and tell P2 to import actions from my.p2.actions.plugin?

 

I included these 2 plugin in the feature.xml but the following error was seen:

 

An error occurred while configuring the installed items

 session context was:(profile="" phase=org.eclipse.equinox.interna

l.p2.engine.phases.Configure, operand=null --> [R]my.feature.feature.group 1.0.0

.201003181555, action="">

 No action found for: my.p2.actions.myAction.

Caused by: Application failed, log file location: C:\Documents and Settings\a038

9314\workspace\.metadata\.log

 

The p2.inf for and my.feature.plugin is as follows:

 

instructions.configure=\

myAction(path:"ssdfd");

 

instructions.configure.import=\

my.p2.actions.myAction

 

I am including the content.xml for your reference:

 

  <units size='4'>

    <unit id='my.feature.feature.jar' version='1.0.0.201003181555'>

      <properties size='3'>

        <property name='org.eclipse.equinox.p2.name' value='Feature Feature'/>

        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>

        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

      </properties>

      <provides size='3'>

        <provided namespace='org.eclipse.equinox.p2.iu' name='my.feature.feature.jar' version='1.0.0.201003181555'/>

        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>

        <provided namespace='org.eclipse.update.feature' name='my.feature' version='1.0.0.201003181555'/>

      </provides>

      <filter>

        (org.eclipse.update.install.features=true)

      </filter>

      <artifacts size='1'>

        <artifact classifier='org.eclipse.update.feature' id='my.feature' version='1.0.0.201003181555'/>

      </artifacts>

      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

      <touchpointData size='1'>

        <instructions size='1'>

          <instruction key='zipped'>

            true

          </instruction>

        </instructions>

      </touchpointData>

      <licenses size='1'>

        <license uri='http://www.example.com/license' url=''>

          [Enter License Description here.]

        </license>

      </licenses>

      <copyright uri='http://www.example.com/copyright' url=''>

        [Enter Copyright Description here.]

      </copyright>

    </unit>

    <unit id='my.feature.feature.group' version='1.0.0.201003181555' singleton='false'>

      <update id='my.feature.feature.group' range='[0.0.0,1.0.0.201003181555)' severity='0'/>

      <properties size='4'>

        <property name='org.eclipse.equinox.p2.name' value='Feature Feature'/>

        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>

        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

        <property name='org.eclipse.equinox.p2.type.group' value='true'/>

      </properties>

      <provides size='1'>

        <provided namespace='org.eclipse.equinox.p2.iu' name='my.feature.feature.group' version='1.0.0.201003181555'/>

      </provides>

      <requires size='3'>

        <required namespace='org.eclipse.equinox.p2.iu' name='my.plugin' range='[1.0.0.201003181555,1.0.0.201003181555]'/>

        <required namespace='org.eclipse.equinox.p2.iu' name='my.p2.actions' range='[5.0.0.201003181555,5.0.0.201003181555]'/>

        <required namespace='org.eclipse.equinox.p2.iu' name='my.feature.feature.jar' range='[1.0.0.201003181555,1.0.0.201003181555]'>

          <filter>

            (org.eclipse.update.install.features=true)

          </filter>

        </required>

      </requires>

      <touchpoint id='null' version='0.0.0'/>

      <touchpointData size='1'>

        <instructions size='1'>

          <instruction key='configure' import='my.p2.actions.myAction'>

            myAction(path:&quot;ssdfd&quot;);

          </instruction>

        </instructions>

      </touchpointData>

      <licenses size='1'>

        <license uri='http://www.example.com/license' url=''>

          [Enter License Description here.]

        </license>

      </licenses>

      <copyright uri='http://www.example.com/copyright' url=''>

        [Enter Copyright Description here.]

      </copyright>

    </unit>

    <unit id='my.plugin' version='1.0.0.201003181555'>

      <update id='my.plugin' range='[0.0.0,1.0.0.201003181555)' severity='0'/>

      <properties size='1'>

        <property name='org.eclipse.equinox.p2.name' value='Plugin Plug-in'/>

      </properties>

      <provides size='3'>

        <provided namespace='org.eclipse.equinox.p2.iu' name='my.plugin' version='1.0.0.201003181555'/>

        <provided namespace='osgi.bundle' name='my.plugin' version='1.0.0.201003181555'/>

        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

      </provides>

      <requires size='2'>

        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>

        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>

      </requires>

      <artifacts size='1'>

        <artifact classifier='osgi.bundle' id='my.plugin' version='1.0.0.201003181555'/>

      </artifacts>

      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

      <touchpointData size='1'>

        <instructions size='2'>

          <instruction key='manifest'>

            Bundle-ManifestVersion: 2&#xA;Bundle-Name: Plugin Plug-in&#xA;Bundle-Version: 1.0.0.201003181555&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;Eclipse-LazyStart: true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-SymbolicName: my.plugin; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-Activator: my.plugin.Activator

          </instruction>

          <instruction key='zipped'>

            true

          </instruction>

        </instructions>

      </touchpointData>

    </unit>

    <unit id='my.p2.actions' version='5.0.0.201003181555'>

      <update id='my.p2.actions' range='[0.0.0,5.0.0.201003181555)' severity='0'/>

      <properties size='2'>

        <property name='org.eclipse.equinox.p2.name' value='My P2 Actions'/>

        <property name='org.eclipse.equinox.p2.provider' value='TI'/>

      </properties>

      <provides size='4'>

        <provided namespace='org.eclipse.equinox.p2.iu' name='my.p2.actions' version='5.0.0.201003181555'/>

        <provided namespace='osgi.bundle' name='my.p2.actions' version='5.0.0.201003181555'/>

        <provided namespace='java.package' name='my.p2.actions' version='0.0.0'/>

        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

      </provides>

      <requires size='4'>

        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>

        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.engine' range='0.0.0'/>

        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.touchpoint.eclipse' range='0.0.0'/>

        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.touchpoint.natives' range='0.0.0'/>

      </requires>

      <artifacts size='1'>

        <artifact classifier='osgi.bundle' id='my.p2.actions' version='5.0.0.201003181555'/>

      </artifacts>

      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

      <touchpointData size='1'>

        <instructions size='1'>

          <instruction key='manifest'>

            Bundle-Vendor: TI&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Activator: my.p2.actions.Activator&#xA;Bundle-RequiredExecutionEnvironment: JavaSE-1.6&#xA;Require-Bundle: org.eclipse.core.runtime,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.natives&#xA;Bundle-Name: My P2 Actions&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: my.p2.actions;singleton:=true&#xA;Bundle-Version: 5.0.0.201003181555&#xA;Export-Package: my.p2.actions

          </instruction>

        </instructions>

      </touchpointData>

    </unit>

  </units>

 

Best regards,
Alain Lee