// StepmanJSONLocalStepInfo ... func StepmanJSONLocalStepInfo(pth string) (string, error) { logLevel := log.GetLevel().String() args := []string{"--debug", "--loglevel", logLevel, "step-info", "--step-yml", pth, "--format", "json"} var outBuffer bytes.Buffer var errBuffer bytes.Buffer if err := cmdex.RunCommandWithWriters(io.Writer(&outBuffer), io.Writer(&errBuffer), "stepman", args...); err != nil { return outBuffer.String(), fmt.Errorf("Error: %s, details: %s", err, errBuffer.String()) } return outBuffer.String(), nil }
// EnvmanJSONPrint ... func EnvmanJSONPrint(envstorePth string) (string, error) { logLevel := log.GetLevel().String() args := []string{"--loglevel", logLevel, "--path", envstorePth, "print", "--format", "json", "--expand"} var outBuffer bytes.Buffer var errBuffer bytes.Buffer if err := cmdex.RunCommandWithWriters(io.Writer(&outBuffer), io.Writer(&errBuffer), "envman", args...); err != nil { return outBuffer.String(), fmt.Errorf("Error: %s, details: %s", err, errBuffer.String()) } return outBuffer.String(), nil }
// StepmanJSONStepLibStepInfo ... func StepmanJSONStepLibStepInfo(collection, stepID, stepVersion string) (string, error) { logLevel := log.GetLevel().String() args := []string{"--debug", "--loglevel", logLevel, "step-info", "--collection", collection, "--id", stepID, "--version", stepVersion, "--format", "json"} var outBuffer bytes.Buffer var errBuffer bytes.Buffer if err := cmdex.RunCommandWithWriters(io.Writer(&outBuffer), io.Writer(&errBuffer), "stepman", args...); err != nil { return outBuffer.String(), fmt.Errorf("Error: %s, details: %s", err, errBuffer.String()) } return outBuffer.String(), nil }
// RunPlugin ... func RunPlugin(bitriseVersion string, plugin Plugin, args []string) (string, error) { var outBuffer bytes.Buffer bitriseInfos := map[string]string{ "version": bitriseVersion, } bitriseInfosStr, err := json.Marshal(bitriseInfos) if err != nil { return "", err } if err := os.Setenv("BITRISE_PLUGINS_MESSAGE", string(bitriseInfosStr)); err != nil { return "", err } err = cmdex.RunCommandWithWriters(io.Writer(&outBuffer), os.Stderr, plugin.Path, args...) return outBuffer.String(), err }