func installPluginVersion(installDesc *installDescription, versionInstallDescription *versionInstallDescription) installResult { if common.IsPluginInstalled(installDesc.Name, versionInstallDescription.Version) { return installSuccess(fmt.Sprintf("Plugin %s %s is already installed.", installDesc.Name, versionInstallDescription.Version)) } logger.Info("Installing Plugin => %s %s\n", installDesc.Name, versionInstallDescription.Version) downloadLink, err := getDownloadLink(versionInstallDescription.DownloadUrls) if err != nil { return installError(fmt.Sprintf("Could not get download link: %s", err.Error())) } tempDir := common.GetTempDir() defer common.Remove(tempDir) unzippedPluginDir, err := util.DownloadAndUnzip(downloadLink, tempDir) if err != nil { return installError(err.Error()) } if err := runInstallCommands(versionInstallDescription.Install, unzippedPluginDir); err != nil { return installError(fmt.Sprintf("Failed to Run install command. %s.", err.Error())) } err = copyPluginFilesToGauge(installDesc, versionInstallDescription, unzippedPluginDir) if err != nil { installError(err.Error()) } return installSuccess("") }
func installPluginVersion(installDesc *installDescription, versionInstallDescription *versionInstallDescription) InstallResult { if common.IsPluginInstalled(installDesc.Name, versionInstallDescription.Version) { return installSkipped(fmt.Sprintf("Plugin %s %s is already installed.", installDesc.Name, versionInstallDescription.Version)) } downloadLink, err := getDownloadLink(versionInstallDescription.DownloadUrls) if err != nil { return installError(fmt.Errorf("Could not get download link: %s", err.Error())) } tempDir := common.GetTempDir() defer common.Remove(tempDir) logger.Info("Downloading %s", filepath.Base(downloadLink)) pluginZip, err := util.Download(downloadLink, tempDir, "", false) if err != nil { return installError(fmt.Errorf("Failed to download the plugin. %s", err.Error())) } return InstallPluginFromZipFile(pluginZip, installDesc.Name) }
func installPluginVersion(installDesc *installDescription, versionInstallDescription *versionInstallDescription) installResult { if common.IsPluginInstalled(installDesc.Name, versionInstallDescription.Version) { return installSuccess(fmt.Sprintf("Plugin %s %s is already installed.", installDesc.Name, versionInstallDescription.Version)) } logger.Log.Info("Installing Plugin => %s %s\n", installDesc.Name, versionInstallDescription.Version) pluginZip, err := downloadPluginZip(versionInstallDescription.DownloadUrls) if err != nil { return installError(fmt.Sprintf("Could not download plugin zip: %s.", err)) } unzippedPluginDir, err := common.UnzipArchive(pluginZip) if err != nil { return installError(fmt.Sprintf("Failed to Unzip plugin-zip file %s.", err)) } logger.Log.Info("Plugin unzipped to => %s\n", unzippedPluginDir) if err := runInstallCommands(versionInstallDescription.Install, unzippedPluginDir); err != nil { return installError(fmt.Sprintf("Failed to Run install command. %s.", err)) } err = copyPluginFilesToGauge(installDesc, versionInstallDescription, unzippedPluginDir) if err != nil { installError(err.Error()) } return installSuccess("") }