tmf: Don't use FileLocator for the test traces

Bundle-specific file locator won't always work when run from
other plugins (for example, it would fail when running a custom
releng/o.e.t.alltests/ test suite with Maven).

Instead just use relative file paths, which is what we use already
in CtfTestTrace and PcapTestTrace, and which work well so far.

Since some tests make use of the base file name of the test trace,
we can use a new getFileName() method that returns it.

Change-Id: If43ba14720f2be67570057e22e59d2809bad187d
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
14 files changed
tree: b9a04b52828c3fa0db6aeac66c45cf98fa670e17
  1. analysis/
  2. btf/
  3. common/
  4. ctf/
  5. doc/
  6. gdbtrace/
  7. lttng/
  8. pcap/
  9. rcp/
  10. releng/
  11. statesystem/
  12. tmf/
  13. .gitignore
  14. components.dia
  15. components.svg
  16. pom.xml
  17. README.md
  18. sync_settings.sh
  19. TraceCompass.setup
README.md

Eclipse Trace Compass

This source tree contains the source code for the Trace Compass plugins for Eclipse.

The plugins are categorized as follows:

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

To set up the environment to build Trace Compass from within Eclipse, see this wiki page: http://wiki.eclipse.org/Trace_Compass/Development_Environment_Setup

Compiling manually

To build the plugins manually using Maven, simply run the following command from the top-level directory:

mvn clean install

The default command will compile and run the unit tests. Running the tests can take some time, to skip them you can append -Dmaven.test.skip=true to the mvn command:

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.

These commands will also build the p2 update site, which will be placed in releng/org.eclipse.tracecompass.releng-site/target/repository.

Maven profiles and properties

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

    Builds the RCP archives. Refer to the previous section for details.

  • -Prun-custom-test-suite

    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=RunAllCoreTests.

  • -Pdeploy-rcp

    Mainly for use on build servers. Copies the generated RCP archives, as well as the RCP-specific update site, to the paths specified by -DrcpDestination=/absolute/path/to/destination and -DrcpSiteDestination=/absolute/path/to/destination, respectively. Must be used with -Pbuild-rcp!

  • -Pdeploy-update-site

    Mainly for use on build servers. Copies the standard update site (for the Eclipse plugin installation) to the destination specified by -DsiteDestination=/absolute/path/to/destination.

  • -Psign-update-site

    Mainly for use on build servers. Signs all the generated update sites using the Eclipse signing server.

  • -Pdeploy-doc

    Mainly for use on build servers. Copies the generated HTML documentation to the destination specified by -DdocDestination=/absolute/path/to/destination. Some directories may need to already exist at the destination (or Maven will throw related errors).