lightning-cli plugin start - Assume default relative path

When starting a plugin, if the plugin path cannot be found in
absolute context, assume it is a relative path to the default
plugins dir. As a result, the following now works when my_plugin.py
is installed in the default plugins dir:

lightning-cli plugin start my_plugin.py

Also update the plugin documentation to reflect that the use of a
relative path is now available.

Changelog-Added: plugin start RPC subcommand now assumes relative path to default plugins dir if the path is not found in absolute context. i.e. lightning-cli plugin start my_plugin.py

[ Squashed two commits into one -- RR ]
This commit is contained in:
Brian Barto
2022-06-17 00:48:48 -04:00
committed by GitHub
parent 0c9017fb76
commit 24b02c33cc
2 changed files with 9 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
#include "config.h"
#include <ccan/tal/path/path.h>
#include <ccan/tal/str/str.h>
#include <common/json_command.h>
#include <common/json_tok.h>
@@ -256,6 +257,9 @@ static struct command_result *json_plugin_control(struct command *cmd,
json_get_member(buffer, mod_params,
"plugin") - 1, 1);
}
if (access(plugin_path, X_OK) != 0)
plugin_path = path_join(cmd,
cmd->ld->plugins->default_dir, plugin_path);
if (access(plugin_path, X_OK) == 0)
return plugin_dynamic_start(pcmd, plugin_path,
buffer, mod_params);