commit | 16f3aa75633e397a988d4cc6b441100b17f53cbd | [log] [tgz] |
---|---|---|
author | Bernd Hufmann <Bernd.Hufmann@ericsson.com> | Mon Feb 24 14:28:08 2020 -0500 |
committer | Bernd Hufmann <bernd.hufmann@ericsson.com> | Fri Feb 28 07:31:04 2020 -0500 |
tree | 53d138792dab0aa8402e39463099d6b167f2e396 | |
parent | 2631a544e6e43633143d948ba2f9182e88df88e5 [diff] |
Bug 560477: state system: Serialize unknown state types as strings If a state object is not one of the known object types (Null, Long, Int, Double, String, or CustomStateValue) then an IllegalArgumentException was thrown. For example, when using an XML analysis with a CTF trace which has an event field of type CtfEnumPair and this CtfEnumPair is used as state value of an attribute, then such an exception would be created. This patch will convert the state value to a string, if the value object is not one of the known types. [Fixed] Bug 560477: IllegalArgumentException in SS serialization Change-Id: I96f3b7cc3df7113579531251a98235a219a4d0c0 Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com> Reviewed-on: https://git.eclipse.org/r/158248 Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org> Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net> Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
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.
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
The Maven project build requires version 3.3 or later. It can be downloaded from http://maven.apache.org or from the package management system of your distro.
To build the project 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
Stand-alone application (RCP) packages will be placed in rcp/org.eclipse.tracecompass.rcp.product/target/products
.
The p2 update site, used for installation as plugins inside Eclipse, will be placed in releng/org.eclipse.tracecompass.releng-site/target/repository
.
To generate the javadoc from the Trace Compass source code, run the following command from the top-level directory:
mvn clean package javadoc:aggregate
The javadoc html files will be under target/site/apidocs
.
NOTE: if you want to build the RCP with older platforms than 4.12 you need to copy the legacy tracing.product
: cp rcp/org.eclipse.tracecompass.rcp.product/legacy/tracing.product rcp/org.eclipse.tracecompass.rcp.product/
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
.
-Dskip-tc-core-tests
Skips the automated core tests. Not required when using -Dmaven.test.skip=true
or -DskipTests=true
, which already skips all the tests.
-Dskip-short-tc-ui-tests
Skips the short UI integration tests. Not required when using -Dmaven.test.skip=true
or -DskipTests=true
, which already skips all the tests.
-Dskip-long-tc-ui-tests
Skips the long UI integration tests. Not required when using -Dmaven.test.skip=true
or -DskipTests=true
, which already skips all the tests.
-Dskip-rcp
Skips building the RCP archives and related deployment targets. Only works in conjunction with -Dskip-tc-long-ui-tests
, due to a limitation in Maven.
-Pctf-grammar
Re-compiles the CTF grammar files. This should be enabled if you modify the .g
files in the ctf.parser
plugin.
-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=RunAllPerfTests
.
-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.
-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).