4 This source tree contains the source code for the Trace Compass plugins for
7 The plugins are categorized as follows:
9 analysis/ | Generic extensions to the base framework
10 btf/ | Best Trace Format (BTF) integration
11 common/ | Generic utilities that can be used by other plugins
12 ctf/ | Common Trace Format (CTF) reader library
13 doc/ | Documentation and code examples
14 gdbtrace/ | Support for reading and viewing GDB traces
15 lttng/ | LTTng integration
16 pcap/ | libpcap integration
17 rcp/ | Code specific to the RCP version
18 releng/ | Releng-related plugins
19 statesystem/ | State System library
22 See the `components.svg` file for a diagram showing the dependencies between the
26 Setting up the development environment
27 --------------------------------------
29 To set up the environment to build Trace Compass from within Eclipse, see this
31 <http://wiki.eclipse.org/Trace_Compass/Development_Environment_Setup>
37 The Maven project build requires version 3.3 or later. It can be downloaded from
38 <http://maven.apache.org> or from the package management system of your distro.
40 To build the project manually using Maven, simply run the following command from
41 the top-level directory:
45 The default command will compile and run the unit tests. Running the tests can
46 take some time, to skip them you can append `-Dmaven.test.skip=true` to the
49 mvn clean install -Dmaven.test.skip=true
51 Stand-alone application (RCP) packages will be placed in
52 `rcp/org.eclipse.tracecompass.rcp.product/target/products`.
54 The p2 update site, used for installation as plugins inside Eclipse, will be
55 placed in `releng/org.eclipse.tracecompass.releng-site/target/repository`.
58 Maven profiles and properties
59 -----------------------------
61 The following Maven profiles and properties are defined in
62 the build system. You can set them by using `-P[profile name]` and
63 `-D[property name]=[value]` in `mvn` commands.
65 * `-Dtarget-platform=[target]`
67 Defines which target to use. This is used to build against various versions of
68 the Eclipse platform. Available ones are in
69 `releng/org.eclipse.tracecompass.target`. The default is usually the latest
70 stable platform. To use the staging target for example, use
71 `-Dtarget-platform=tracecompass-eStaging`.
73 * `-Dskip-automated-ui-tests`
75 Skips the automated UI integration tests. Not required when using
76 `-Dmaven.test.skip=true`, which already skips all the tests.
80 Skips building the RCP archives and related deployment targets. Only works in
81 conjunction with `-Dskip-automated-ui-tests`, due to a limitation in Maven.
85 Re-compiles the CTF grammar files. This should be enabled if you modify the
86 `.g` files in the `ctf.parser` plugin.
88 * `-Prun-custom-test-suite`
90 Runs a test suite present in `releng/org.eclipse.tracecompass.alltests`. The
91 test suite to run has to be defined by `-DcustomTestSuite=[name]`, for example
92 `-DcustomTestSuite=RunAllPerfTests`.
96 Mainly for use on build servers. Copies the generated RCP archives, as well as
97 the RCP-specific update site, to the paths specified by
98 `-DrcpDestination=/absolute/path/to/destination` and
99 `-DrcpSiteDestination=/absolute/path/to/destination`, respectively.
101 * `-Pdeploy-update-site`
103 Mainly for use on build servers. Copies the standard update site (for the
104 Eclipse plugin installation) to the destination specified by
105 `-DsiteDestination=/absolute/path/to/destination`.
107 * `-Psign-update-site`
109 Mainly for use on build servers. Signs all the generated update sites using
110 the Eclipse signing server.
114 Mainly for use on build servers. Copies the generated HTML documentation to
115 the destination specified by `-DdocDestination=/absolute/path/to/destination`.
116 Some directories may need to already exist at the destination (or Maven will
117 throw related errors).