The plugins are categorized as follows:
- org.eclipse.tracecompass.analysis.* | Generic extensions to the base framework
- org.eclipse.tracecompass.btf.* | Best Trace Format (BTF) integration
- org.eclipse.tracecompass.ctf.* | Common Trace Format (CTF) reader library
- org.eclipse.tracecompass.gdbtrace.* | Support for reading and viewing GDB traces
- org.eclipse.tracecompass.lttng2.* | LTTng 2.x integration
- org.eclipse.tracecompass.pcap.* | libpcap integration
- org.eclipse.tracecompass.rcp.* | Code specific to the RCP version
- org.eclipse.tracecompass.statesystem.* | State System library
- org.eclipse.tracecompass.tmf.* | Core framework
-
-See the `plugins.svg` file for a diagram showing the dependencies between the
-different plugins.
+ analysis/ | Generic extensions to the base framework
+ btf/ | Best Trace Format (BTF) integration
+ common/ | Generic utilities that can be used by other plugins
+ ctf/ | Common Trace Format (CTF) reader library
+ doc/ | Documentation and code examples
+ gdbtrace/ | Support for reading and viewing GDB traces
+ lttng/ | LTTng integration
+ pcap/ | libpcap integration
+ rcp/ | Code specific to the RCP version
+ releng/ | Releng-related plugins
+ statesystem/ | State System library
+ tmf/ | Core framework
+
+See the `components.svg` file for a diagram showing the dependencies between the
+different components.
Setting up the development environment
Compiling manually
------------------
-To build the plugins manually using Maven, simply run the following command from
+The Maven project build requires version 3.3 or later. It can be downloaded from
+<http://maven.apache.org> or from the package management system of your distro.
+
+To build the project manually using Maven, simply run the following command from
the top-level directory:
mvn clean install
mvn clean install -Dmaven.test.skip=true
-The RCP is not built by default, to build it you need to add `-Pbuild-rcp` to
-the `mvn` command:
-
- mvn clean install -Pbuild-rcp -Dmaven.test.skip=true
-
-This will build the RCP for all supported architectures. The resulting archives
-will be placed in `rcp/org.eclipse.tracecompass.rcp.product/target/products`.
+Stand-alone application (RCP) packages will be placed in
+`rcp/org.eclipse.tracecompass.rcp.product/target/products`.
-These commands will also build the p2 update site, which will be placed in
-`org.eclipse.tracecompass.releng-site/target/repository`.
+The p2 update site, used for installation as plugins inside Eclipse, will be
+placed in `releng/org.eclipse.tracecompass.releng-site/target/repository`.
Maven profiles and properties
-----------------------------
-The following Maven profiles, and their corresponding properties, are defined in
+The following Maven profiles and properties are defined in
the build system. You can set them by using `-P[profile name]` and
`-D[property name]=[value]` in `mvn` commands.
+* `-Dtarget-platform=[target]`
+
+ Defines which target to use. This is used to build against various versions of
+ the Eclipse platform. Available ones are in
+ `releng/org.eclipse.tracecompass.target`. The default is usually the latest
+ stable platform. To use the staging target for example, use
+ `-Dtarget-platform=tracecompass-eStaging`.
+
* `-Pctf-grammar`
Re-compiles the CTF grammar files. This should be enabled if you modify the
`.g` files in the `ctf.parser` plugin.
-* `-Pbuild-rcp`
+* `-P -build-rcp`
+
+ Disables the "build-rcp" profile to skip building the RCP archives.
+
+* `-Prun-custom-test-suite`
- Builds the RCP archives. Refer to the previous section for details.
+ Runs a test suite present in `releng/org.eclipse.tracecompass.alltests`. The
+ test suite to run has to be defined by `-DcustomTestSuite=[name]`, for example
+ `-DcustomTestSuite=RunAllPerfTests`.
* `-Pdeploy-rcp`