slides available !!!
Pascal and Ian created this presentation to explain what are the things developers should not do with p2.
- 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
- 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 !
- 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
- 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
- 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
- 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]
- Don’t use API : be mindful of what you use, do not use the internal packages, ask on the p2-dev mailing list
- Use the metadata generator ; instead use the publisher (p2.publisher.UpdateSitePublisher), tycho and PDE already use it.
- Use legacy update sites : they do not include complete metadata, so P2 will download every feature to regenerate the complete metadata
- Spell it P2, the name is p2
Great presentation ! very lively and insightful !