diff --git a/internal/util/plugin.go b/internal/util/plugin.go index 7ed5da7..9552262 100644 --- a/internal/util/plugin.go +++ b/internal/util/plugin.go @@ -70,6 +70,19 @@ func resolvePluginPath(pluginName string) (string, error) { pluginExecutable := fmt.Sprintf("kafkactl-%s-plugin%s", pluginName, extension) + // search relative to working dir + workingDir, err := os.Getwd() + if err != nil { + return "", err + } + + pluginPath := filepath.Join(workingDir, "../kafkactl-plugins/"+pluginName) + pluginLocationWorkingDir := filepath.Join(pluginPath, pluginExecutable) + + if _, err = os.Stat(pluginLocationWorkingDir); err == nil { + return pluginLocationWorkingDir, nil + } + // search in path if _, err := exec.LookPath(pluginExecutable); err == nil { return pluginExecutable, nil @@ -88,18 +101,5 @@ func resolvePluginPath(pluginName string) (string, error) { return pluginLocationExe, nil } - // search relative to working dir - workingDir, err := os.Getwd() - if err != nil { - return "", err - } - - pluginPath := filepath.Join(workingDir, "../kafkactl-plugins/"+pluginName) - pluginLocationWorkingDir := filepath.Join(pluginPath, pluginExecutable) - - if _, err = os.Stat(pluginLocationWorkingDir); err == nil { - return pluginLocationWorkingDir, nil - } - return "", errors.Wrapf(err, "plugin not found: %q", []string{pluginExecutable, pluginLocationExe, pluginLocationWorkingDir}) }