func getPluginJsonPath(pluginName, version string) (string, error) { if !IsPluginInstalled(pluginName, version) { return "", fmt.Errorf("Plugin %s %s is not installed", pluginName, version) } pluginInstallDir, err := common.GetPluginInstallDir(pluginName, "") if err != nil { return "", err } return filepath.Join(pluginInstallDir, common.PluginJSONFile), nil }
func (handler *gaugeApiMessageHandler) getLanguagePluginLibPath(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { libPathRequest := message.GetLibPathRequest() language := libPathRequest.GetLanguage() languageInstallDir, err := common.GetPluginInstallDir(language, "") if err != nil { return handler.getErrorMessage(err) } runnerInfo, err := runner.GetRunnerInfo(language) if err != nil { return handler.getErrorMessage(err) } relativeLibPath := runnerInfo.Lib libPath := path.Join(languageInstallDir, relativeLibPath) response := &gauge_messages.GetLanguagePluginLibPathResponse{Path: proto.String(libPath)} return &gauge_messages.APIMessage{MessageType: gauge_messages.APIMessage_GetLanguagePluginLibPathResponse.Enum(), MessageId: message.MessageId, LibPathResponse: response} }