Twitter github

When !@#$ Hits the Fan Developing Plug-ins

About once a year, I’m graced with a message from PDE complaining about plug-ins being out of sync. It’s a nasty message as it usually catches you by surprise and makes you wonder how the heck can anything be out of sync?

Some lucky Eclipse community members have run into this issue also… which is unfortunate because it’s generally not an easy issue to fix without understanding what is going on behind the scenes. From a PDE viewpoint, the error message simply indicates that one of the bundles within the PDE state has been somehow modified outside the workspace.

I can cause this error to appear when opening a MANIFEST.MF outside of Eclipse in VIM and editing it. I believe this is what most people do for that error to appear. In any case, enough talk and back to the point of this post, what to do when !@#$ hits the fan in PDE. Here’s what to do if you’re convinced that PDE is being bad:

  1. Restart Eclipse. If the errors don’t go away…
  2. Start Eclipse with the obscure -Dpde.nocache=true property. This should force a rebuild of the PDE state. If the errors don’t go away…
  3. PDE stores its state in the workspace (metadata/.plugins/org.eclipse.pde.core), delete it the old-fashioned way.

If everything fails still, I’m pretty sure PDE isn’t at fault anymore and it’s something else.

I hope this helps.

  • Nick

    There’s a simpler approach: select project(s) which need refreshing in Package Explorer or other view and hit F5, then if necessary Project > Clean or Project > Build.

  • Nick

    There’s a simpler approach: select project(s) which need refreshing in Package Explorer or other view and hit F5, then if necessary Project > Clean or Project > Build.

  • AlBlue

    Nick; that approach doesn’t work. You can still end up with the out-of-state errors. Deleting the project and re-creating is one way of fixing it, but that’s probably because that gets rid of the cache files.

    It’s not necessary to edit the manifest manually outside of Eclipse for this error; at least, I’ve had it before without having to do that.

    But sadly, I’ve never managed to find out how to reproduce it or what’s going on.

  • AlBlue

    Nick; that approach doesn’t work. You can still end up with the out-of-state errors. Deleting the project and re-creating is one way of fixing it, but that’s probably because that gets rid of the cache files.It’s not necessary to edit the manifest manually outside of Eclipse for this error; at least, I’ve had it before without having to do that.But sadly, I’ve never managed to find out how to reproduce it or what’s going on.

  • Chris Aniszczyk (zx)

    In theory that should work Nick but the PDE state can be pretty resilient at times. Simply cleaning everything won’t clean the state.

  • Chris Aniszczyk (zx)

    In theory that should work Nick but the PDE state can be pretty resilient at times. Simply cleaning everything won’t clean the state.