Language Reference and Standard Library Reference updates

Signed-off-by: Richard Taylor <richard.taylor@lexisnexis.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Added support in code generator for pluggable external language support.

New syntax: EMBED(module, 'script'), or EMBED(module) script ENDEMBED

A module for embedding Javascript using the v8 engine is provided in the plugin
v8embed - this can be imported using IMPORT javascript;

Additional plugins to support embedding Python and possibly Java will follow.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8461 Configmgr - Fix filesBasedn of Dali and ESP to match LDAP

- Hide filesBasedn field in Dali component
- Hide filesBasedn field in esp services
- Automatically propogate changes to filesBasedn value in the LDAP
  component

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Added plugin to support Python.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8445 Add Certify.

Fix HPCC-8445 Add Certify doc.
To add the HPCC Certification doc
to the documentation build

Signed-off-by: g-pan <greg.panagiotatos@lexisnexis.com>
HPCC-8461 Configmgr - Fix filesBasedn of dali and espsmc to match LDAP

- XSLs will populate filesBasedn for espsmc and dali
- XSDs will not contain the filesBasedn field for the UI

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Reworked python embed manager to support functions, imports, etc.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Added java import plugin, and further cleanup on the others

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Added boolean parameters/results. Also added an additional test for Java
case (including multithreading).

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Fix some threading/signal issues in the java embed plugin.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Fix some threading issues in the Python embed plugin.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8637 - Make thorslave dali connection optional.

Only register thor slaves with Dali if configuration option
defined (Debug/@slaveDaliClient)

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8645 Configmgr - Add attribute in XML view fails in IE

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>
HPCC-8445 Add Certify

Fix HPCC-8445 Add Certify doc.
To add the HPCC Certification doc
to the documentation build.

Signed-off-by: g-pan <greg.panagiotatos@lexisnexis.com>
HPCC-8633 Add mutex to control data access for preflight result

Sometimes, ESP EclWatch crashes when doing a preflight on a big
dev environment. The core dump shows that the problem happens
inside Cws_machineEx::setMachineInfo() with double free memory.
When doing a preflight, WsMachine service creates multiple threads
(one thread per each target computer). Every thread will call the
setMachineInfo() and add its preflight result to a shared array of
result objects. This fix adds a mutex to synchronize the array
access. I did many tests after the fix and no crash happened in
those tests.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Merge pull request #3888 from jakesmith/slavedaliclient

HPCC-8637 - Make thorslave dali connection optional.

Reviewed-By: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #3894 from garonsky/issue-8645_add_attribute_fails_in_ie_310

HPCC-8645 Configmgr - Add attribute in XML view fails in IE

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #3895 from g-pan/H8445-Certify

HPCC-8445 Add Certify Doc

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 Java/Python/Javascript language support in ECL

Remove SONAME from these 'module' plugins, so that installers don't complain
about missing dependencies. That way they will be available IFF the
corresponding language they interface to is installed, but not require that it
is for the HPCC-Platform to be installed.

Also clean up the build process to use proper CMake mechanism for finding
includes and libraries, and to add flags to disable building these plugins.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8030 R/Java/Python/Javascript language support in ECL

Added R embedding support.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>