rcp: add filters and scripting to the RCP build

Includes the scripting for python and javascript

Change-Id: I597c76063621c63f744ff2b84f21ed521cb43d16
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/152906
Tested-by: CI Bot
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
diff --git a/README.md b/README.md
index 344b51d..1a24cf7 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,12 @@
 
     mvn clean install -Dmaven.test.skip=true
 
+The resulting executables will be in the
+`rcp/org.eclipse.tracecompass.incubator.rcp.product/target/products`. There are
+the archives for linux, macos and Windows. The sub-directories
+`org.eclipse.tracecompass.incubator.rcp/<os>/...` contain the executable for each
+OS.
+
 To generate the javadoc from the Trace Compass source code, run the following
 command from the top-level directory:
 
diff --git a/rcp/org.eclipse.tracecompass.incubator.rcp.product/legacy/tracing.incubator.product b/rcp/org.eclipse.tracecompass.incubator.rcp.product/legacy/tracing.incubator.product
index d33a990..2089286 100644
--- a/rcp/org.eclipse.tracecompass.incubator.rcp.product/legacy/tracing.incubator.product
+++ b/rcp/org.eclipse.tracecompass.incubator.rcp.product/legacy/tracing.incubator.product
@@ -231,6 +231,10 @@
       <feature id="org.eclipse.tracecompass.rcp" installMode="root"/>
       <feature id="org.eclipse.tracecompass.incubator.rcp" installMode="root"/>
       <feature id="org.eclipse.tracecompass.tmf.cli" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.filters" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting.javascript" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting.python" installMode="root"/>
    </features>
 
    <configurations>
diff --git a/rcp/org.eclipse.tracecompass.incubator.rcp.product/tracing.incubator.product b/rcp/org.eclipse.tracecompass.incubator.rcp.product/tracing.incubator.product
index 9b3444e..99e92ce 100644
--- a/rcp/org.eclipse.tracecompass.incubator.rcp.product/tracing.incubator.product
+++ b/rcp/org.eclipse.tracecompass.incubator.rcp.product/tracing.incubator.product
@@ -204,6 +204,7 @@
       <feature id="org.eclipse.equinox.p2.extras.feature"/>
       <feature id="org.eclipse.tracecompass.ctf"/>
       <feature id="org.eclipse.tracecompass.tmf.ctf"/>
+      <feature id="org.eclipse.tracecompass.tmf.cli"/>
       <feature id="org.eclipse.tracecompass.tmf.pcap"/>
       <feature id="org.eclipse.ecf.core.ssl.feature"/>
       <feature id="org.eclipse.ecf.filetransfer.ssl.feature"/>
@@ -230,6 +231,10 @@
       <feature id="org.eclipse.tracecompass.rcp" installMode="root"/>
       <feature id="org.eclipse.tracecompass.incubator.rcp" installMode="root"/>
       <feature id="org.eclipse.tracecompass.tmf.cli" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.filters" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting.javascript" installMode="root"/>
+      <feature id="org.eclipse.tracecompass.incubator.scripting.python" installMode="root"/>
    </features>
 
    <configurations>
diff --git a/rcp/org.eclipse.tracecompass.incubator.rcp/feature.xml b/rcp/org.eclipse.tracecompass.incubator.rcp/feature.xml
index 975c2ef..72cf6ef 100644
--- a/rcp/org.eclipse.tracecompass.incubator.rcp/feature.xml
+++ b/rcp/org.eclipse.tracecompass.incubator.rcp/feature.xml
@@ -20,6 +20,18 @@
       %license
    </license>
 
+   <includes
+         id="org.eclipse.ease.lang.javascript.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.ease.lang.python.py4j.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.ease.lang.python.feature"
+         version="0.0.0"/>
+
    <requires>
       <import feature="org.eclipse.e4.rcp" version="0.0.0" match="greaterOrEqual"/>
       <import feature="org.eclipse.equinox.p2.core.feature" version="0.0.0" match="greaterOrEqual"/>
@@ -29,11 +41,136 @@
       <import feature="org.eclipse.platform" version="0.0.0" match="greaterOrEqual"/>
    </requires>
 
-      <plugin
+   <plugin
          id="javax.ws.rs"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.lsp4j"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.lsp4j.jsonrpc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.xtext.xbase.lib"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.commons.lang"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ease.ui.scripts"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ease"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ease.classloader"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ease.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.mozilla.javascript"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.jsdt.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.jsdt.debug.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.jsdt.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="com.google.javascript"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="com.google.protobuf"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.jsdt.debug.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.jsdt.manipulation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="py4j-java"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="py4j-python"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
 </feature>
diff --git a/rcp/org.eclipse.tracecompass.incubator.rcp/pom.xml b/rcp/org.eclipse.tracecompass.incubator.rcp/pom.xml
index 8c498b8..ca09ea0 100644
--- a/rcp/org.eclipse.tracecompass.incubator.rcp/pom.xml
+++ b/rcp/org.eclipse.tracecompass.incubator.rcp/pom.xml
@@ -37,6 +37,28 @@
             <configuration>
               <excludes>
                 <plugin id="javax.ws.rs"/>
+                <plugin id="org.eclipse.lsp4j"/>
+                <plugin id="org.eclipse.lsp4j.jsonrpc"/>
+                <plugin id="org.eclipse.xtext.xbase.lib"/>
+                <plugin id="org.apache.commons.lang"/>
+                <plugin id="org.eclipse.ease.ui.scripts"/>
+                <plugin id="org.eclipse.ease"/>
+                <plugin id="org.eclipse.ease.classloader"/>
+                <plugin id="org.eclipse.ease.ui"/>
+                <feature id="org.eclipse.ease.lang.javascript.feature"/>
+                <plugin id="org.mozilla.javascript"/>
+                <plugin id="org.eclipse.wst.jsdt.ui"/>
+                <plugin id="org.eclipse.wst.jsdt.debug.ui"/>
+                <plugin id="org.eclipse.wst.jsdt.core"/>
+                <plugin id="com.google.javascript"/>
+                <plugin id="com.google.protobuf"/>
+                <plugin id="org.eclipse.wst.jsdt.debug.core"/>
+                <plugin id="org.eclipse.wst.jsdt.manipulation"/>
+                <feature id="org.eclipse.ease.lang.python.py4j.feature"/>
+                <feature id="org.eclipse.ease.lang.python.feature"/>
+                <plugin id="py4j-java"/>
+                <plugin id="py4j-python"/>
+                <plugin id="py4j-java"/>
               </excludes>
             </configuration>
           </execution>