Commit | Line | Data |
---|---|---|
4c7ca017 AM |
1 | Eclipse Trace Compass |
2 | ===================== | |
3 | ||
4 | This source tree contains the source code for the Trace Compass plugins for | |
5 | Eclipse. | |
6 | ||
7 | The plugins are categorized as follows: | |
8 | ||
634e7ffd AM |
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 | |
20 | tmf/ | Core framework | |
21 | ||
22 | See the `components.svg` file for a diagram showing the dependencies between the | |
23 | different components. | |
4c7ca017 AM |
24 | |
25 | ||
26 | Setting up the development environment | |
27 | -------------------------------------- | |
28 | ||
29 | To set up the environment to build Trace Compass from within Eclipse, see this | |
30 | wiki page: | |
31 | <http://wiki.eclipse.org/Trace_Compass/Development_Environment_Setup> | |
32 | ||
33 | ||
34 | Compiling manually | |
35 | ------------------ | |
36 | ||
e9128579 PT |
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. | |
39 | ||
e38f4d76 | 40 | To build the project manually using Maven, simply run the following command from |
4c7ca017 AM |
41 | the top-level directory: |
42 | ||
43 | mvn clean install | |
44 | ||
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 | |
47 | `mvn` command: | |
48 | ||
49 | mvn clean install -Dmaven.test.skip=true | |
50 | ||
e38f4d76 AM |
51 | Stand-alone application (RCP) packages will be placed in |
52 | `rcp/org.eclipse.tracecompass.rcp.product/target/products`. | |
4c7ca017 | 53 | |
e38f4d76 AM |
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`. | |
424f59c4 AM |
56 | |
57 | ||
58 | Maven profiles and properties | |
59 | ----------------------------- | |
60 | ||
1bee0535 | 61 | The following Maven profiles and properties are defined in |
424f59c4 AM |
62 | the build system. You can set them by using `-P[profile name]` and |
63 | `-D[property name]=[value]` in `mvn` commands. | |
64 | ||
1bee0535 AM |
65 | * `-Dtarget-platform=[target]` |
66 | ||
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`. | |
72 | ||
424f59c4 AM |
73 | * `-Pctf-grammar` |
74 | ||
75 | Re-compiles the CTF grammar files. This should be enabled if you modify the | |
76 | `.g` files in the `ctf.parser` plugin. | |
77 | ||
e38f4d76 | 78 | * `-P -build-rcp` |
424f59c4 | 79 | |
e38f4d76 | 80 | Disables the "build-rcp" profile to skip building the RCP archives. |
424f59c4 | 81 | |
59e6f2ce AM |
82 | * `-Prun-custom-test-suite` |
83 | ||
84 | Runs a test suite present in `releng/org.eclipse.tracecompass.alltests`. The | |
85 | test suite to run has to be defined by `-DcustomTestSuite=[name]`, for example | |
b0d2c558 | 86 | `-DcustomTestSuite=RunAllPerfTests`. |
59e6f2ce | 87 | |
424f59c4 AM |
88 | * `-Pdeploy-rcp` |
89 | ||
90 | Mainly for use on build servers. Copies the generated RCP archives, as well as | |
91 | the RCP-specific update site, to the paths specified by | |
92 | `-DrcpDestination=/absolute/path/to/destination` and | |
93 | `-DrcpSiteDestination=/absolute/path/to/destination`, respectively. | |
94 | Must be used with `-Pbuild-rcp`! | |
95 | ||
96 | * `-Pdeploy-update-site` | |
97 | ||
98 | Mainly for use on build servers. Copies the standard update site (for the | |
99 | Eclipse plugin installation) to the destination specified by | |
100 | `-DsiteDestination=/absolute/path/to/destination`. | |
101 | ||
102 | * `-Psign-update-site` | |
4c7ca017 | 103 | |
424f59c4 AM |
104 | Mainly for use on build servers. Signs all the generated update sites using |
105 | the Eclipse signing server. | |
4c7ca017 | 106 | |
424f59c4 | 107 | * `-Pdeploy-doc` |
4c7ca017 | 108 | |
424f59c4 AM |
109 | Mainly for use on build servers. Copies the generated HTML documentation to |
110 | the destination specified by `-DdocDestination=/absolute/path/to/destination`. | |
111 | Some directories may need to already exist at the destination (or Maven will | |
112 | throw related errors). | |
4c7ca017 | 113 |