| 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 | |
| 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. |
| 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 | 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 | |
| 40 | To build the project manually using Maven, simply run the following command from |
| 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 | |
| 51 | Stand-alone application (RCP) packages will be placed in |
| 52 | `rcp/org.eclipse.tracecompass.rcp.product/target/products`. |
| 53 | |
| 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`. |
| 56 | |
| 57 | |
| 58 | Maven profiles and properties |
| 59 | ----------------------------- |
| 60 | |
| 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. |
| 64 | |
| 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 | |
| 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 | |
| 78 | * `-P -build-rcp` |
| 79 | |
| 80 | Disables the "build-rcp" profile to skip building the RCP archives. |
| 81 | |
| 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 |
| 86 | `-DcustomTestSuite=RunAllPerfTests`. |
| 87 | |
| 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` |
| 103 | |
| 104 | Mainly for use on build servers. Signs all the generated update sites using |
| 105 | the Eclipse signing server. |
| 106 | |
| 107 | * `-Pdeploy-doc` |
| 108 | |
| 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). |
| 113 | |