Equinox/p2/Console Users Guide

From Eclipsepedia

< Equinox‎ | p2
Revision as of 10:34, 2 February 2011 by Hsiliev.gmail.com (Talk | contribs)

Jump to: navigation, search


Contents

Using P2 Provisioning Commands

The P2 Provisioning Commands are console commands enabled by the presence of P2 that allow you to perform common provisioning operations, such as managing the repository and profiles, installing and removing components, etc.

Prerequisties

To have the Eclipse console available, you have to add -console as a program argument either in the Eclipse.ini file of your default Eclipse installation, or, in the Argument tab in your Eclipse IDE. See Eclipse Runtime Options for more details

Enabling the Provisioning Commands

To run with the provisioning console commands enabled, make sure that the P2 console bundle is available and started in the process to which you want to connect the console:

1. Start the console.
2. Find the ID of the P2 console bundle by using the command (in the example "68"):
osgi> ss p2.console

Framework is launched.

id      State       Bundle
68      ACTIVE      org.eclipse.equinox.p2.console_1.0.300.v20110104-0005

3. Start the bundle:

osgi> start 68

4. To list all the commands, type man in the console line. The P2 Provisioning Commands all start with "prov".

P2 Provisioning Commands

Repository Commands

provaddrepo <repository URI> 
Adds both metadata and artifact repository at URI
provdelrepo <repository URI> 
Deletes metadata and artifact repository at URI
provaddmetadatarepo <repository URI> 
Adds a metadata repository at URI
provdelmetadatarepo <repository URI> 
Deletes a metadata repository at URI
provaddartifactrepo <repository URI> 
Adds an artifact repository at URI
provdelartifactrepo <repository URI> 
Deletes an artifact repository URI
provlg [<repository URI> <iu id | *> <version range | *>] 
Lists all IUs with group capabilities in the given repository or in all repositories if URI is omitted
provlr [<repository URI> <iu id | *> <version range | *>] 
Lists all metadata repositories, or the contents of a given metadata repository
provlar [<repository URI>] 
Lists all artifact repositories, or the contents of a given artifact repository
provliu [<repository URI | *> <iu id | *> <version range | *>] 
Lists the IUs that match the pattern in the given repo. * matches all
provlquery <repository URI | *> <expression> [ true | false ] 
Lists the IUs that match the query expression in the given repo. * matches all. The expression is expected to be a boolean match expression unless the third argument is true, in which case the expression is a full query.

Profile Registry Commands

provaddprofile <profileid> <location> <flavor> 
Adds a profile with the given profileid, location and flavor
provdelprofile <profileid> 
Deletes a profile with the given profileid
provlp [<profileid | *>] 
Lists all profiles, or the contents of the profile at the given profile
provlgp [<profileid>] 
Lists all IUs with group capabilities in the given profile, or current profile if profileid is omitted
provlpts [<profileid>] 
Lists timestamps for given profile, or if no profileid given then the default profile timestamps are reported
provlpquery <profileid | this> <expression> [ true | false ] 
Lists the IUs that match the query expression in the given profile. The expression is expected to be a boolean match expression unless the third argument is true, in which case the expression is a full query

Install Commands

provinstall <InstallableUnit> <version> <profileid> 
installs an IU to the profileid. If no profileid is given, installs into the default profile.
provremove <InstallableUnit> <version> <profileid> 
Removes an IU from the profileid. If no profileid is given, installs into the default profile.
provrevert <profileTimestamp> [<profileid>] 
Reverts to a given profile time stamp for an optional profileId
Note.png
Apply changes
To see the applied configuration changes at runtime, you have to use the confapply command.


Note.png
Repositories
The install commands use only the previously added repositories. If your IU is part of a new custom repository, you have to add the repository manually using the provaddrepo command.


Example

To install Eclipse Memory Analyzer Tool (MAT) in Eclipse you have to:

1. Add MAT update site:
osgi> provaddrepo http://download.eclipse.org/mat/1.0/update-site/

2. List IUs with group capabilities to check the exact name and version of the required IU: < ... omitted ...> org.eclipse.mat.feature.feature.group 1.0.100.201012150941 < ... omitted ...>


3. Install the MAT IU: provinstall org.eclipse.mat.feature.feature.group 1.0.100.201012150941 4. Depending on what you install you may need to restart Eclipse (especially for UI contributions as with MAT) 5. You may now use your new MAT perspective