| Java, Eclipse and Web programming Tutorials |
Version 0.7
Copyright © 2008 - 2009 Lars Vogel
18.01.2010
| Revision History | ||
|---|---|---|
| Revision 0.1 -0.2 | 16.09.2008 | Lars Vogel |
| Created Article | ||
| Revision 0.3 | 25.05.2009 | Lars Vogel |
| Updated to Plugins and Eclipse 3.5 | ||
| Revision 0.4 | 14.09.2009 | Lars Vogel |
| Minor changes | ||
| Revision 0.5 | 25.11.2009 | Lars Vogel |
| Minor changes | ||
| Revision 0.6 | 17.12.2009 | Lars Vogel |
| started p2 for Eclipse RCP application | ||
| Revision 0.7 | 18.01.2010 | Lars Vogel |
| added required feature for p2 update | ||
Table of Contents
Eclipse provides an installation and update mechanism called p2. Using this update mechanism allow to install new Eclipse functionality and to update existing. Eclipse p2 can be integrated into Eclipse RCP applications.
You should know how to develop Eclipse plugins and Eclipse RCP application. See Eclipse Plugins Tutorial and Developing Eclipse RCP Applications - Tutorial for further information.
Create a Eclipse plugin "de.vogella.p2.add.command" (not RCP) based on the "Hello, World Command" template.
Create a feature project "de.vogella.p2.add.command.feature" which includes the plugin "de.vogella.p2.add.command". See Eclipse Feature Project for details how to create a feature project.
In your feature project create file File -> New -> Other -> "Category Definition" a new category for your feature.

Press "New Category" and create a category, e.g. with the name "vogella.de". Add your feature to this category.

Export your feature via File -> Export -> "Deployable features". Deploy it to a local directory on your machine. Make sure you select on the Option tab your "category.xml". Also make sure to select "Generate metadata repository".


Try if this feature can be installed into your Eclipse IDE. See Using the Eclipse Update Manager for information on how to use the Eclipse update manager. Use the update manager and point to your local directory. Restart the IDE after installation. You should have a new command after the installation.

After a restart of your Eclipse IDE you should have an additional menu entry.

Using the Eclipse Update Manager revert this installation.
Using the "Hello RCP" template create a Eclipse RCP application in plugin "de.vogella.p2.app". Create a feature "de.vogella.p2.app.feature" which includes plugin "de.vogella.p2.app" and "org.eclipse.rcp".
In the plugin "de.vogella.p2.app" create a new product configuration "app.product". The product should be feature based. Export your product and make sure you can start it. Please see Eclipse RCP for details.
Add the feature "org.eclipse.equinox.p2.user.ui" to your product. Adjust your runtime configuration and run your product again. You should see now difference.
The p2 commands attach themself to the menu with the ID "help". Create a menu with the id "help" and re-run your application. See Eclipse Commands Tutorial if you need information on how to define a menu.

If you select the menu you will get an error message.

Export your product then you should be able to open the update manager.

Use the update manager to install your "de.vogella.p2.add.command.feature" feature.

Thank you for practicing with this tutorial.
Please note that I maintain this website in my private time. If you like the information I'm providing please help me by donating.For questions and discussion around this article please use the www.vogella.de Google Group. Also if you note an error in this article please post the error and if possible the correction to the Group.
I believe the following is a very good guideline for asking questions in general and also for the Google group How To Ask Questions The Smart Way.
http://wiki.eclipse.org/Equinox_p2 The Eclipse p2 update wiki
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application Adding p2 update to an RCP application