[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] P2 build product -- cannot update features contained within (continued)

Replying to myself with more information, but still asking for help from P2 devs, (and it’s really bad that there is so little online help/doc about some of these low-level P2, end-user visible error messages…), I traced a bit of the P2 source to determine that this error message comes up when related to this (in)famous property:




Looking at my .profile after our product built using all the techniques indicated below; and using team.svn as the feature I keep trying to update:


<unit id='org.eclipse.team.svn.feature.group' version='0.7.9.I20110207-1700' singleton='false'>

      <update id='org.eclipse.team.svn.feature.group' range='[0.0.0,0.7.9.I20110207-1700)' severity='0'/>





<iuProperties id='org.eclipse.team.svn.feature.group' version='0.7.9.I20110207-1700'>

      <properties size='4'>

        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='STRICT'/>

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

        <property name='org.eclipse.equinox.p2.type.lock' value='3'/>



are interesting.


So, how did that type.lock value become 3? How can I help that?


(btw, what led me here are  the lines of code in InstallAction (see http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.5/org.eclipse.equinox.p2/ui/1.0.100/org/eclipse/equinox/internal/provisional/p2/ui/actions/InstallAction.java for example; the 3.6 refactoring I couldn’t follow easily):


if (alreadyInstalled.size() > 0) { //  && installedIU.isSingleton()


                               IInstallableUnit installedIU = (IInstallableUnit) alreadyInstalled.iterator().next();


                               int compareTo = ius[i].getVersion().compareTo(installedIU.getVersion());


                               // If the iu is a newer version of something already installed, consider this an


                               // update request


                               if (compareTo > 0) {


                                      boolean lockedForUpdate = false;


                                       String value = profile.getInstallableUnitProperty(installedIU, IInstallableUnit.PROP_PROFILE_LOCKED_IU);


                                      if (value != null)


                                              lockedForUpdate = (Integer.parseInt(value) & IInstallableUnit.LOCK_UPDATE) == IInstallableUnit.LOCK_UPDATE;


                                      if (lockedForUpdate) {


                                              // Add a status telling the user that this implies an update, but the


                                              // iu should not be updated


                                              status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_IGNORED_IMPLIED_UPDATE, ius[i]));



Thank you,



From: Eddie Galvez
Sent: Friday, May 20, 2011 3:21 PM
To: p2-dev@xxxxxxxxxxx
Subject: P2 build product -- cannot update features contained within (continued)


Hello Paul, Brian, others,


To follow up on my original email (http://dev.eclipse.org/mhonarc/lists/p2-dev/msg04129.html) , I followed the suggestions from http://aniefer.blogspot.com/2009/07/composing-and-updating-custom-eclipse.html and http://aniefer.blogspot.com/2009/07/adt-part-2-more-like-epp.html and a bit of digging into http://dev.eclipse.org/viewcvs/viewvc.cgi/pde-build-home/examples/adt.builder/ but my latest hurdle is that, even after amending my build with a customAssembly.xml that ran the director to install the extra features:


[sbb:eclipse-ant] pre.archive:

[sbb:eclipse-ant]      [echo] Executing customAssembly director installs of extra features for F:\sbxbuild\813\co\streambase\apps\ide\plugins\com.streambase.sb.studio\studio.product


[sbb:eclipse-ant] runDirector:

[sbb:eclipse-ant] [p2.director] Installing org.eclipse.gef.feature.group 3.6.2.v20110128-0100-777B381A4Bz06565376E32322.

[sbb:eclipse-ant] [p2.director] Operation completed in 2516 ms.


[sbb:eclipse-ant] runDirector:

[sbb:eclipse-ant] [p2.director] Installing org.eclipse.jdt.feature.group 3.6.2.r362_v20101117-0800-7z8XFW6FLFlmjJcvz03jyeFBLS_F.

[sbb:eclipse-ant] [p2.director] Operation completed in 2719 ms.




I still cannot update features! Here’s how things look in the UI (notice the update buttons are disabled)…



And here’s what the P2 UI says if I try to update the SVN feature:


Cannot complete the request.  See the error log for details.

Subversive SVN Team Provider (Incubation) will be ignored because it is already installed, and updates are not permitted.



As a reminder: PDE headless build, off a feature-based .product file.


Thank you,


-          Eddie


PNG image