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 | ||
37 | To build the plugins manually using Maven, simply run the following command from | |
38 | the top-level directory: | |
39 | ||
40 | mvn clean install | |
41 | ||
42 | The default command will compile and run the unit tests. Running the tests can | |
43 | take some time, to skip them you can append `-Dmaven.test.skip=true` to the | |
44 | `mvn` command: | |
45 | ||
46 | mvn clean install -Dmaven.test.skip=true | |
47 | ||
4c7ca017 AM |
48 | The RCP is not built by default, to build it you need to add `-Pbuild-rcp` to |
49 | the `mvn` command: | |
50 | ||
51 | mvn clean install -Pbuild-rcp -Dmaven.test.skip=true | |
52 | ||
53 | This will build the RCP for all supported architectures. The resulting archives | |
5be236ca | 54 | will be placed in `rcp/org.eclipse.tracecompass.rcp.product/target/products`. |
4c7ca017 | 55 | |
424f59c4 | 56 | These commands will also build the p2 update site, which will be placed in |
2e225298 | 57 | `releng/org.eclipse.tracecompass.releng-site/target/repository`. |
424f59c4 AM |
58 | |
59 | ||
60 | Maven profiles and properties | |
61 | ----------------------------- | |
62 | ||
1bee0535 | 63 | The following Maven profiles and properties are defined in |
424f59c4 AM |
64 | the build system. You can set them by using `-P[profile name]` and |
65 | `-D[property name]=[value]` in `mvn` commands. | |
66 | ||
1bee0535 AM |
67 | * `-Dtarget-platform=[target]` |
68 | ||
69 | Defines which target to use. This is used to build against various versions of | |
70 | the Eclipse platform. Available ones are in | |
71 | `releng/org.eclipse.tracecompass.target`. The default is usually the latest | |
72 | stable platform. To use the staging target for example, use | |
73 | `-Dtarget-platform=tracecompass-eStaging`. | |
74 | ||
424f59c4 AM |
75 | * `-Pctf-grammar` |
76 | ||
77 | Re-compiles the CTF grammar files. This should be enabled if you modify the | |
78 | `.g` files in the `ctf.parser` plugin. | |
79 | ||
80 | * `-Pbuild-rcp` | |
81 | ||
82 | Builds the RCP archives. Refer to the previous section for details. | |
83 | ||
59e6f2ce AM |
84 | * `-Prun-custom-test-suite` |
85 | ||
86 | Runs a test suite present in `releng/org.eclipse.tracecompass.alltests`. The | |
87 | test suite to run has to be defined by `-DcustomTestSuite=[name]`, for example | |
88 | `-DcustomTestSuite=RunAllCoreTests`. | |
89 | ||
424f59c4 AM |
90 | * `-Pdeploy-rcp` |
91 | ||
92 | Mainly for use on build servers. Copies the generated RCP archives, as well as | |
93 | the RCP-specific update site, to the paths specified by | |
94 | `-DrcpDestination=/absolute/path/to/destination` and | |
95 | `-DrcpSiteDestination=/absolute/path/to/destination`, respectively. | |
96 | Must be used with `-Pbuild-rcp`! | |
97 | ||
98 | * `-Pdeploy-update-site` | |
99 | ||
100 | Mainly for use on build servers. Copies the standard update site (for the | |
101 | Eclipse plugin installation) to the destination specified by | |
102 | `-DsiteDestination=/absolute/path/to/destination`. | |
103 | ||
104 | * `-Psign-update-site` | |
4c7ca017 | 105 | |
424f59c4 AM |
106 | Mainly for use on build servers. Signs all the generated update sites using |
107 | the Eclipse signing server. | |
4c7ca017 | 108 | |
424f59c4 | 109 | * `-Pdeploy-doc` |
4c7ca017 | 110 | |
424f59c4 AM |
111 | Mainly for use on build servers. Copies the generated HTML documentation to |
112 | the destination specified by `-DdocDestination=/absolute/path/to/destination`. | |
113 | Some directories may need to already exist at the destination (or Maven will | |
114 | throw related errors). | |
4c7ca017 | 115 |