releng: Add a Maven profile to run a custom test suite in alltests
[deliverable/tracecompass.git] / README.md
index a7ac7c7c871e30dd174b9a4c06d71d3a4b34428a..660a93b08f0107a0b1ae7fda1d8e9a7a0840c279 100644 (file)
--- a/README.md
+++ b/README.md
@@ -6,18 +6,21 @@ Eclipse.
 
 The plugins are categorized as follows:
 
-    org.eclipse.tracecompass.analysis.*    | Generic extensions to the base framework
-    org.eclipse.tracecompass.btf.*         | Best Trace Format (BTF) integration
-    org.eclipse.tracecompass.ctf.*         | Common Trace Format (CTF) reader library
-    org.eclipse.tracecompass.gdbtrace.*    | Support for reading and viewing GDB traces
-    org.eclipse.tracecompass.lttng2.*      | LTTng 2.x integration
-    org.eclipse.tracecompass.pcap.*        | libpcap integration
-    org.eclipse.tracecompass.rcp.*         | Code specific to the RCP version
-    org.eclipse.tracecompass.statesystem.* | State System library
-    org.eclipse.tracecompass.tmf.*         | Core framework
-
-See the `plugins.svg` file for a diagram showing the dependencies between the
-different plugins.
+    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
@@ -42,20 +45,63 @@ take some time, to skip them you can append `-Dmaven.test.skip=true` to the
 
     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 `org.eclipse.tracecompass.rcp.product/target/products`.
+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 their corresponding properties, are defined in
+the build system. You can set them by using `-P[profile name]` and
+`-D[property name]=[value]` in `mvn` commands.
+
+* `-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`
 
-To build a local p2 update site:
+  Mainly for use on build servers. Signs all the generated update sites using
+  the Eclipse signing server.
 
-    mvn clean install -Pbuild-update-site "-DsiteDestination=/path/to/destination"
+* `-Pdeploy-doc`
 
-where `/path/to/destination` is the **absolute** path to destination directory
-on your disk.
+  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).
 
This page took 0.027498 seconds and 5 git commands to generate.