In a tutorial style, this detailed presentation covers all the major aspects of p2. It ranges from the simple usage of product delivery to an in-depth presentation of the p2 concepts.
Scaling API-first – The story of a global engineering organization
Understanding and extending p2 for fun and profit
1. Using p2 for fun and profit Pascal Rapicault* Ian Bull** Andrew Niefer* Jeff McAffer** * IBM Rational ** EclipseSource
2. Provision what – where Engineers Users Test Automated Builds Test source code open source licensed software in-house built applications tools runtimes
20. The running product In self-hosting mode, the application being launched is not p2-enabled, as such the p2 dialogs can not be brought up. We can only update if we have a profile. This problem will unlikely be addressed in 3.5.
24. One construct to rule them all Decouple decision making from the actual content Everything is an IU Everything is installable It is also referred to as “metadata” IU (id, ver)
25. Anatomy of an IU Provided Capabilities Required Capabilities Properties Artifact reference Actions Class: IInstallableUnit IU (id, ver)
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37. p2 Architecture Metadata Artifacts Runtimes Profiles OS Eclipse Engine Eclipse Classic Eclipse for C++ Other Director Repositories Touchpoints
38.
39.
40. p2 in Action Transports Http/Https File system Volume Director Profiles Runtimes Provisioning operation requested Metadata fetched and constraints analyzed IU install, uninstall, update operations Artifact availability and mirroring Mirroring Data transfer IUs configured into runtimes Profile updated Repositories p2 Update Site Engine Eclipse/OSGi Native/OS
41.
42.
43.
44. Layout of an installation Configuration area p2 data area Artifact repository index. This allows the plug-ins to be served to other instances.
45.
46. p2 data area Download cache, where non-eclipse pieces are mirrored before being installed. Profile registry Storage for the profile Lock file created when the profile is being modified Current and previous state of the system MailApp.profile
HENRIK What does it mean to “provision Eclipse in the Entrprise” – it could mean anything from provisioning source code and pre-built components to developers to automatic and policy driven installation of in-house built applications based to servers, desktop machines and small handheld device.
HENRIK Eclipse and Equinox is used for many purposes – and users has expressed a wide variety of requirements – requirements that often are direct conflict.