0

For my RCP app I created two targets, one that points to a p2 site in a repository directory of the target project, so users can use the target when not connected to the Internet. The p2 repository is a mirror created with an ant script, and I verified that it has the required versions of features and plugins that the target is trying to load.

It works properly for every feature except one (com.vectrace.MercurialEclipse, which was mirrored from a local p2 update site that I created by exporting the MercuriualEcliopse feature). I load that feature in my target file like so

<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="false" type="InstallableUnit">

<unit id="com.vectrace.MercurialEclipse.feature.feature.group" version="2015"/> <unit id="com.google.gson.source" version="2.1.0.201304290948"/>

<repository location="file:///path/to/repository"/>

</location>

In the target editor UI, I get this error:

File does not exist:

<workspace path>/.metadata.plugins/org.eclipse.pde.core/.bundle_pool/com.vectrace.MercurialEclipse_2.1.0.201304290948.jar

I don't understand why the non-existence of a file in the bundle pool prevents me from adding a feature to my target. The feature seems properly defined in the p2 site, and I think this is just some eclipse weirdness about hanging on to old references or something. But hours of variations on the "eclipse dance" that usually clears such problems has failed to solve the problem.

I've tried re-creating the MercurialEclipse repo, re-mirroring the local offline repository, re-launching with -clean, and various other things. Can someone help me understand what eclipse is complaining about with this message?

MidnightJava
  • 1,927
  • 2
  • 18
  • 38

1 Answers1

0

Eclipse says it wants that jar file in the bundle_pool directory, so I copied it there manually. That made the target load correctly, but I'd like to know why I had to do that. Seems like a bug or a glitch, as the jar file should be added to the bundle pool as a result of adding the feature to the target, not as a prerequisite. But all the usual gyrations would not make eclipse stop insisting that the jar file needed to already be in the bundle_pool directory.

MidnightJava
  • 1,927
  • 2
  • 18
  • 38