one more question.
My RCP application contains a root directory with several files (pdf and other) in it.
How is it possible to update these files using p2?
Do I have to pull them into one of my plugins or are there better ways?
The easiest way to deliver root files (assuming they just need to be placed there and nothing else need to happen there) is to put them into a feature at build time.
This feature would include a folder (e.g. called rootFiles), and then the build.properties would have an entry saying "root=rootFiles". Et voila.
The p2 publisher will take care of creating the necessary IU to unzip those at install time and remove them at uninstall time.
To create an "update", simply repackage all the files in a new version of the feature.