MicroDrop v1.0-style plugins based on PyUtilib are launched by importing the plugin's root directory. The proposed v2.0 plugin framework aims to be language agnostic, and therefore we need a new method for launching plugins. One option could be to use a hook script -- e.g., on_plugin_start.bat (Windows) or on_plugin_start.sh (Linux/Mac OS) -- similar to the on_plugin_install scripts already in use.
If we do decide to go this route, we will also need to figure out what (if any) arguments should be passed to this script. For Python-based plugins, we somehow need to pass the path to the Python executable and we would probably need something similar for other interpreted languages. One option would be to store these paths in some kind of "environment definition" file that could be accessed via the hook scripts, e.g.:
MicroDrop v1.0-style plugins based on PyUtilib are launched by importing the plugin's root directory. The proposed v2.0 plugin framework aims to be language agnostic, and therefore we need a new method for launching plugins. One option could be to use a hook script -- e.g.,
on_plugin_start.bat
(Windows) oron_plugin_start.sh
(Linux/Mac OS) -- similar to theon_plugin_install
scripts already in use.If we do decide to go this route, we will also need to figure out what (if any) arguments should be passed to this script. For Python-based plugins, we somehow need to pass the path to the Python executable and we would probably need something similar for other interpreted languages. One option would be to store these paths in some kind of "environment definition" file that could be accessed via the hook scripts, e.g.: