4

I'm using a target definition that references a P2 update site.

Update site was updated recently with a plugin that has same version and qualifier as previous version, but different content.

I've deleted .metadata/.plugins/org.eclipse.pde.core and tried resolving and applying target definition again. Strangely, target definition recreates previous version of plugin in .metadata.plugins\org.eclipse.pde.core.bundle_pool (I'm checking its content and behaviour)

Where could the content be cached and how do I flush this cache?

  • Version: Kepler Service Release 2
  • Build id: 20140224-0627
oberlies
  • 11,503
  • 4
  • 63
  • 110
Basilevs
  • 22,440
  • 15
  • 57
  • 102
  • 1
    This is probably a duplicate of http://stackoverflow.com/questions/12641464/eclipse-does-not-download-latest-jar-of-the-same-version-from-the-target-platfor but that was not answered – Basilevs Nov 11 '14 at 08:37
  • 1
    The bundle_pool dir in metadata is the cache location PDE provides to p2 when downloading target content. If deleting that folder and re-resolving the target results in the old content being added, there must still be a source providing the old content (local Eclipse install?). As Tobias mentioned in his 'answer' you are making it impossible for p2 to distinguish between the content by reusing the same version. – CWindatt Nov 13 '14 at 16:54

2 Answers2

1

Update site was updated recently with a plugin that has same version and qualifier as previous version, but different content.

Well in this case you have a problem.

This kind of changes violates the most basic assumptions of p2, and hence you cannot expect anything to work correctly any more.

oberlies
  • 11,503
  • 4
  • 63
  • 110
  • 1
    See also this [nicer answer with the same point](http://stackoverflow.com/a/12647758/1523648) ;-) – oberlies Nov 13 '14 at 14:26
  • 2
    That was not an answer, but comment. So is yours. :( – Basilevs Nov 13 '14 at 14:53
  • Well, that's because the official answer (i.e. the answer from the p2 project) is that there is no no answer. – oberlies Nov 13 '14 at 14:58
  • 2
    Well, there is an answer. One can reformat system drive, that will definitely reset all caches. There's a location where those are stored, we just need to find them. – Basilevs Nov 13 '14 at 15:05
0

P2 stores "global" cache outside workspace or Eclipse installation in user's home directory: $HOME/.p2/pool Once that is wiped problem is solved.

Unfortunately, this folder is used by all Eclipse instances installed with Oomph (Eclipse Installer), and its removal will make them unusable.

Note, that removal of some plugins from that folder will corrupt index integrity and will also make all of your Eclipse installations unusable.

Basilevs
  • 22,440
  • 15
  • 57
  • 102