Use a dedicated plugin directory instead of relying on LD_LIBRARY_PATH
-
Plugins are not general purpose libraries but should instead be installed in a dedicated, version-specific directory. -
We should support a PDI_PLUGIN_PATH
environment variable containing a:
-separated list of directories and look in these for the plugins todlopen()
. The variable should support escaping:
with\:
to represent a raw:
instead of a list separator and\\
to represent a single\
. -
We should add a new key at the root of the configuration plugin_path
containing a list of additional directories to look in. -
A default path set at compile time (using CMake configure_file
) should be used if none of these work. Ideally this path should be relative to the pdi library path, maybe the path to the library can be extracted using dladdr.
All of these should be handled in the get_plugin_ctr
function of global_context.cxx
, maybe this should be externalized in a new dedicated file.