[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.technology.equinox] Re: p2 detecting newly installed bundles
|
Filed this:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=241559
Francis Upton (News) wrote:
It seems the problem I'm having is that the plugin is not actually
getting installed. I can see that from the p2 perspective it's
installed. The feature I'm installing appears in the UI as installed
and appears in the P2 profile as installed, along with it's plugin.
However, in the plugins/features directory of my product, the feature
and plugin are not present. Nor is the plugin in the bundles.info.
Any idea where to start debugging this?
Below is the excerpt from the profile that refers to the plugin:
<unit
id='com.oaklandsw.transform.feature.data.edifact.07b.feature.jar'
version='2.7.1'>
<update
id='com.oaklandsw.transform.feature.data.edifact.07b.feature.jar'
range='[0.0.0,2.7.1)' severity='0'/>
<properties size='3'>
<property name='org.eclipse.equinox.p2.name' value='EDIFACT 07B'/>
<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='com.oaklandsw.transform.feature.data.edifact.07b.feature.jar'
version='2.7.1'/>
<provided namespace='org.eclipse.equinox.p2.eclipse.type'
name='feature' version='1.0.0'/>
<provided namespace='org.eclipse.update.feature'
name='com.oaklandsw.transform.feature.data.edifact.07b' version='2.7.1'/>
</provides>
<filter>
(org.eclipse.update.install.features=true)
</filter>
<artifacts size='1'>
<artifact classifier='org.eclipse.update.feature'
id='com.oaklandsw.transform.feature.data.edifact.07b' version='2.7.1'/>
</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 url='http://www.example.com/license'>
[Enter License Description here.]
</license>
</licenses>
<copyright url='http://www.example.com/copyright'>
[Enter Copyright Description here.]
</copyright>
</unit>
And here is the part that has (I'm guessing) where the plugins should be
located:
<properties size='6'>
<property name='org.eclipse.equinox.p2.cache'
value='/d/build/transform/build/kits/transform12-kits/linux.gtk.x86'/>
<property name='org.eclipse.equinox.p2.flavor' value='tooling'/>
<property name='org.eclipse.equinox.p2.roaming' value='true'/>
<property name='org.eclipse.update.install.features' value='true'/>
<property name='org.eclipse.equinox.p2.environments'
value='osgi.ws=gtk,osgi.os=linux,osgi.arch=x86'/>
<property name='org.eclipse.equinox.p2.installFolder'
value='/d/build/transform/build/kits/transform12-kits/linux.gtk.x86'/>
</properties>
I have installed my application as part of my build with the p2 director
like this:
<exec executable="${baseLocation}/eclipse" failonerror="true"
timeout="900000">
<arg line="-application org.eclipse.equinox.p2.director.app.application" />
<arg line="-nosplash" />
<arg line="--launcher.suppressErrors" />
<arg line="-consoleLog" />
<arg line="-flavor ${p2.flavor}" />
<arg line="-installIU
com.oaklandsw.transform.feature.product${productNumber}.feature.group" />
<arg line="-version ${oaklandswVersion}" />
<arg line="-p2.os ${confOs}" />
<arg line="-p2.ws ${confGui}" />
<arg line="-p2.arch ${confArch}" />
<arg line="-roaming" />
<arg line="-profile OSDTProfile" />
<arg line="-profileProperties org.eclipse.update.install.features=true" />
<arg line="-metadataRepository ${p2.metadata.repo}" />
<arg line="-artifactRepository ${p2.artifact.repo}" />
<arg line="-destination
${builder}/${buildLabel}/${collectingFolder}-kits/${confOutDir}" />
<arg line="-bundlepool
${builder}/${buildLabel}/${collectingFolder}-kits/${confOutDir}" />
<arg line="-vmargs" />
<arg
line="-Declipse.p2.data.area=${builder}/${buildLabel}/${collectingFolder}-kits/${confOutDir}/p2"
/>
</exec>
Francis Upton (News) wrote:
My RCP application is using the p2 software update manager, and that
appears to be working fine. I want to detect when a bundle has been
installed so that I make take some actions.
I have tried to figure out how to make BundleWatcher work and been so
far unsuccessful, I try registering it with the HookRegistry only to
be informed that the HookRegistry is read only. And even if I get
this working, I'm not sure it will show the install event.
Is there some way I can see a bundle as it's installed (dynamically)?
Thanks,
Francis
--
*new* Common Navigator Framework section in:
3.4RC4 Platform Plugin Developer Guide (Programmer's Guide)
http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/cnf.htm
http://dev.eclipse.org/blogs/francis
http://wiki.eclipse.org/Common_Navigator_Framework
http://wiki.eclipse.org/Common_Navigator_Framework_Use_Cases
You have brains in your head.
You have feet in your shoes.
- Dr Seuss, Oh the Places You'll Go