Add --pluginsdir flag. (#1)

Add a new flag, `--pluginsdir`, for setting the directory where plugins are stored.  The default remains `$datadir/plugins`.

Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Reviewed-on: #1
This commit is contained in:
2023-07-19 14:01:46 +08:00
committed by roysc
co-authored by telackey
parent 366f480bc1
commit 1d8f2a28e8
3 changed files with 22 additions and 3 deletions
+12 -2
View File
@@ -20,7 +20,7 @@ package main
import (
"fmt"
"os"
"path"
"path/filepath"
"sort"
"strconv"
"strings"
@@ -57,6 +57,9 @@ const (
var (
// flags that configure the node
nodeFlags = flags.Merge([]cli.Flag{
//begin PluGeth code injection
utils.PluginsDirFlag,
//end PluGeth code injection
utils.IdentityFlag,
utils.UnlockedAccountFlag,
utils.PasswordFileFlag,
@@ -336,7 +339,14 @@ func prepare(ctx *cli.Context) {
// blocking mode, waiting for it to be shut down.
func geth(ctx *cli.Context) error {
//begin PluGeth code injection
if err := plugins.Initialize(path.Join(ctx.String(utils.DataDirFlag.Name), "plugins"), ctx); err != nil {
var pluginsDir string
if ctx.IsSet(utils.PluginsDirFlag.Name) {
pluginsDir = ctx.String(utils.PluginsDirFlag.Name)
} else {
pluginsDir = filepath.Join(ctx.String(utils.DataDirFlag.Name), "plugins")
}
if err := plugins.Initialize(pluginsDir, ctx); err != nil {
return err
}
prepare(ctx)