public string InstallPluginPackage(OnlinePluginPackage onlinePluginPackage, OnlinePluginPackageRelease release) { string folder = onlinePluginPackage.InstallPluginPackage(release); AddPluginPackage(folder); return(folder); }
private void xInstallButonn_Click(object sender, RoutedEventArgs e) { xInstallButton.ButtonText = "Downloading & Installing..."; xProcessingImage.Visibility = Visibility.Visible; OnlinePluginPackageRelease release = (OnlinePluginPackageRelease)xVersionComboBox.SelectedItem; OnlinePluginPackage onlinePluginPackage = (OnlinePluginPackage)xPluginsGrid.CurrentItem; if (!string.IsNullOrEmpty(onlinePluginPackage.CurrentPackage) && onlinePluginPackage.CurrentPackage != release.Version) { UninstallPlugin(); } Task.Factory.StartNew(() => { WorkSpace.Instance.PlugInsManager.InstallPluginPackage(onlinePluginPackage, release); onlinePluginPackage.Status = "Installed"; }).ContinueWith((a) => { Dispatcher.Invoke(() => { xProcessingImage.Visibility = Visibility.Collapsed; xInstallButton.ButtonText = "Install"; xInstalledVersion.Text = onlinePluginPackage.CurrentPackage; }); }); xInstalledSection.Visibility = Visibility.Visible; ((OnlinePluginPackage)xPluginsGrid.CurrentItem).CurrentPackage = release.Version; SetInstallButton(); }
private void DownloadMissingPlugins() { Reporter.ToStatus(eStatusMsgKey.DownloadingMissingPluginPackages); WorkSpace.Instance.PlugInsManager.BackgroudDownloadInprogress = true; try { ObservableList <OnlinePluginPackage> OnlinePlugins = null; foreach (PluginPackage SolutionPlugin in mPluginPackages) { //TODO: Make it work for linux environments if (SolutionPlugin.Folder.Contains("AppData\\Roaming") && !System.IO.File.Exists(Path.Combine(SolutionPlugin.Folder, @"Ginger.PluginPackage.Services.json"))) { if (OnlinePlugins == null) { OnlinePlugins = WorkSpace.Instance.PlugInsManager.GetOnlinePluginsIndex(); } OnlinePluginPackage OnlinePlugin = OnlinePlugins.Where(x => x.Id == SolutionPlugin.PluginId).FirstOrDefault(); OnlinePluginPackageRelease OPR = OnlinePlugin.Releases.Where(x => x.Version == SolutionPlugin.PluginPackageVersion).FirstOrDefault(); OnlinePlugin.InstallPluginPackage(OPR); //WorkSpace.Instance.PlugInsManager.InstallPluginPackage(OnlinePlugin, OPR); } } } finally { WorkSpace.Instance.PlugInsManager.BackgroudDownloadInprogress = false; Reporter.HideStatusMessage(); } }
public string InstallPluginPackage(OnlinePluginPackageRelease release) { string pluginSubFolder = Path.Combine(Id, release.Version); string folder = DownloadPackage(release.assets[0].browser_download_url, pluginSubFolder).Result; return(folder); }
public string InstallPluginPackage(OnlinePluginPackageRelease release) { Reporter.ToLog(eLogLevel.INFO, "Downloading Plugin" + Id + " " + release.Version); string pluginSubFolder = Path.Combine(Id, release.Version); string folder = DownloadPackage(release.assets[0].browser_download_url, pluginSubFolder).Result; return(folder); }
private void DownloadMissingPlugins() { Reporter.ToStatus(eStatusMsgKey.DownloadingMissingPluginPackages); WorkSpace.Instance.PlugInsManager.BackgroudDownloadInprogress = true; try { ObservableList <OnlinePluginPackage> OnlinePlugins = null; foreach (PluginPackage SolutionPlugin in mPluginPackages) { Reporter.ToLog(eLogLevel.INFO, "Check PluginId: " + SolutionPlugin.PluginId); Reporter.ToLog(eLogLevel.INFO, "Check Plugin folder: " + SolutionPlugin.Folder); if (Directory.Exists(SolutionPlugin.Folder)) { Reporter.ToLog(eLogLevel.INFO, "Plugin folder exist so no need to download"); continue; // Plugin folder exist so no need to download } if (isPrivatePlugin(SolutionPlugin)) { Reporter.ToLog(eLogLevel.INFO, "Private plugin folder no need to download"); continue; // this is private plugin located on the developer machine will not be able to download from online } if (OnlinePlugins == null) { Reporter.ToLog(eLogLevel.INFO, "Getting online plugins index"); OnlinePlugins = WorkSpace.Instance.PlugInsManager.GetOnlinePluginsIndex(); } OnlinePluginPackage OnlinePlugin = OnlinePlugins.Where(x => x.Id == SolutionPlugin.PluginId).FirstOrDefault(); if (OnlinePlugin == null) { Reporter.ToLog(eLogLevel.ERROR, "Plugin not found in online!"); continue; } Reporter.ToLog(eLogLevel.INFO, "Checking plugin release: version=" + SolutionPlugin.PluginPackageVersion); OnlinePluginPackageRelease OPR = OnlinePlugin.Releases.Where(x => x.Version == SolutionPlugin.PluginPackageVersion).FirstOrDefault(); if (OPR != null) { Reporter.ToLog(eLogLevel.INFO, "Plugin version found starting install"); OnlinePlugin.InstallPluginPackage(OPR); } else { Reporter.ToLog(eLogLevel.ERROR, "Plugin version not found cannot install!"); } } } finally { WorkSpace.Instance.PlugInsManager.BackgroudDownloadInprogress = false; Reporter.HideStatusMessage(); } }
private void SetInstallButton() { OnlinePluginPackageRelease release = (OnlinePluginPackageRelease)xVersionComboBox.SelectedItem; OnlinePluginPackage pluginPackageInfo = (OnlinePluginPackage)xPluginsGrid.CurrentItem; if (release!=null && pluginPackageInfo.CurrentPackage == release.Version) { xInstallButton.IsEnabled = false; } else { xInstallButton.IsEnabled = true; } }
public void InstallSeleniumPlugin_1_0() { //Arrange PluginsManager pluginsManager = new PluginsManager(WorkSpace.Instance.SolutionRepository); ObservableList <OnlinePluginPackage> list = pluginsManager.GetOnlinePluginsIndex(); OnlinePluginPackage plugin = (from x in list where x.Id == "SeleniumDriver" select x).SingleOrDefault(); OnlinePluginPackageRelease release1_1 = (from x in plugin.Releases where x.Version == "1.0" select x).SingleOrDefault(); // Act string folder = pluginsManager.InstallPluginPackage(plugin, release1_1); //Assert Assert.IsTrue(Directory.Exists(folder)); }
private void xInstallButonn_Click(object sender, RoutedEventArgs e) { xProcessingImage.Visibility = Visibility.Visible; OnlinePluginPackageRelease release = (OnlinePluginPackageRelease)xVersionComboBox.SelectedItem; Task.Factory.StartNew(() => { OnlinePluginPackage onlinePluginPackage = (OnlinePluginPackage)xPluginsGrid.CurrentItem; WorkSpace.Instance.PlugInsManager.InstallPluginPackage(onlinePluginPackage, release); onlinePluginPackage.Status = "Installed"; }).ContinueWith((a) => { Dispatcher.Invoke(() => { xProcessingImage.Visibility = Visibility.Collapsed; }); }); }
private void XVersionComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { xPublishedTextBlock.Text = null; xReleaseNameTextBlock.Text = null; xSizeTextBlock.Text = null; xDownloads.Text = null; xInstallButonn.Visibility = Visibility.Collapsed; OnlinePluginPackageRelease release = (OnlinePluginPackageRelease)xVersionComboBox.SelectedItem; if (release != null) { xPublishedTextBlock.Text = release.published_at; xReleaseNameTextBlock.Text = release.name; if (release.assets.Count > 0) { xSizeTextBlock.Text = release.assets[0].size / 1000 + " KB"; xDownloads.Text = release.assets[0].download_count; xInstallButonn.Visibility = Visibility.Visible; } } }