Provisioning platform (p2)
Installation and updates are managed in Eclipse using a provisioning
platform called p2. Fundamentally, p2 is a technology for provisioning and
managing Eclipse- and Equinox-based applications. You can use p2 to install
or manage any aspect of your application, from the physical plug-ins and native
code, to the configuration of the installed software - file permissions, command line arguments, etc.
Installation with p2 does not consist simply in adding or removing files in the
file system, but more generally the sequence of events that must occur to lay
down and configure a system that is ready to run. Core aspects of p2 include:
- Automatic resolution of dependencies between software components. With p2,
you state the root set of items you want installed or uninstalled, and p2 computes
the complete set of required system changes automatically.
- Transport of software components and configuration data from remote
repositories to the system being installed. p2 includes sophisticated algorithms for
performing multi-threaded transfers, including support for mirrors and automatic
re-balancing of transfers based on network state (availability, throughput).
- An extensible mechanism for "teaching" p2 how to install and configure various
kinds of software. By default p2 knows how to install and configure Eclipse plug-ins,
and basic native integration such as adding/removing files, setting permissions,
and creating symbolic links.
- A graphical user interface integrated into the Eclipse platform, to allow
end users to examine and manage the application.
- A suite of command line tools and Ant tasks, to allow developers and release
engineers to build and configure p2-enabled applications.
The following documentation sections describe how to use p2 to build and deliver
your own Eclipse-based applications and extensions.