p2, your savior or your achilles heel? Everything an Eclipse team needs to know about p2 at EclipseCon 2011

slides available !!!

http://www.slideshare.net/irbull/p2talk

Pascal and Ian created this presentation to explain what are the things developers should not do with p2.

  1. Move / remove files on disk : for examples jars i the plugins folder; better than this : let p2 manage your install, so that when you remove a plugin, p2 will remove the now un-needed dependencies
  2. unzip your plugins  over Eclipse; instead provide a p2 repository, that could be downloaded as a zip; by the way do not use the dropins folder; because the scan of plugins inside is so slow !
  3. Replace published content, when you republish the exact same version of the same bundle (1.0.0.HEAD); p2 will not be able to distinguish it and do the updates (p2 works with bundle name + version); you have to provide version/id pairs immutable
  4. Alter a released repository : people are consuming your content, so do their headless builds; a released repository SHOULD NEVER change; you can use composite repos to change content
  5. Don’t categorize things; better than this, you should always categorize your repositories with a meaningful name: if you don’t like the category, during build, you can change it
  6. Ignore your version ranges : for example do not specify too strict versions, if it works with 3.6.1 , it should work with 3.6.2 too ! Think about versioning your packages, bundles and features, with ranges such as : [3.6.0,3.7.0]
  7. Don’t use API : be mindful of what you use, do not use the internal packages, ask on the p2-dev mailing list
  8. Use the metadata generator ; instead use the publisher (p2.publisher.UpdateSitePublisher), tycho and PDE already use it.
  9. Use legacy update sites : they do not include complete metadata, so P2 will download every feature to regenerate the complete metadata
  10. Spell it P2, the name is p2

Great presentation ! very lively and insightful !

http://www.eclipsecon.org/2011/sessions/?page=sessions&id=2313