This describes how to build the documentation found in the
org.eclipse.tracecompass.*.doc.* plugins.

To build doc plugins use maven command: mvn clean install

To build doc plugins from within Eclipse you need to install m2e.

To edit the mediawiki text, your Eclipse environment first needs to have the 
"Mylyn Wikitext" plugin installed. It can be found in the default Eclipse repository,
under "Collaboration".

You might get a warning from build.properties because of a missing file. This
file gets generated with the rest of the doc, so once you have run these steps
(and refreshed the project if needed), the warning should disappear.
