void PackagingUpdate() { //check ended if (packageBuildInstance != null && packageBuildInstance.State != ProductBuildInstance.StateEnum.Building) { var instance2 = packageBuildInstance; packageBuildInstance = null; if (instance2.State == ProductBuildInstance.StateEnum.Error) { EditorMessageBox.ShowWarning(instance2.Error); } } //update controls var building = packageBuildInstance != null && packageBuildInstance.State == ProductBuildInstance.StateEnum.Building; kryptonButtonPackageCreate.Enabled = CanPackageProject(); kryptonButtonPackageCreateAndRun.Enabled = kryptonButtonPackageCreate.Enabled && GetSelectedBuildConfiguration() != null && GetSelectedBuildConfiguration().SupportsBuildAndRun; kryptonTextBoxPackageDestinationFolder.Enabled = !building; kryptonButtonPackageBrowse.Enabled = !building; contentBrowserPackage.Enabled = !building; if (packageBuildInstance != null) { progressBarBuild.Value = (int)(packageBuildInstance.Progress * 100); } progressBarBuild.Visible = building; kryptonButtonBuildCancel.Visible = building; }
void PackageCreate(bool run) { string folder = kryptonTextBoxPackageDestinationFolder.Text.Trim(); if (string.IsNullOrEmpty(folder)) { return; } //clear destination folder if (Directory.Exists(folder) && !IOUtility.IsDirectoryEmpty(folder)) { var text = string.Format(Translate("Destination folder \'{0}\' is not empty. Clear folder and continue?"), folder); if (EditorMessageBox.ShowQuestion(text, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } //delete try { DirectoryInfo info = new DirectoryInfo(folder); foreach (FileInfo file in info.GetFiles()) { file.Delete(); } foreach (DirectoryInfo directory in info.GetDirectories()) { directory.Delete(true); } } catch (Exception e) { EditorMessageBox.ShowWarning(e.Message); return; } } //start try { if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } packageBuildInstance = ProductBuildInstance.Start(GetSelectedBuildConfiguration(), folder, run); } catch (Exception e) { EditorMessageBox.ShowWarning(e.Message); return; } PackagingUpdate(); }
public static ProductBuildInstance Start(Component_Product configuration, string destinationFolder, bool run) { var instance = new ProductBuildInstance(); instance.configuration = configuration; instance.destinationFolder = destinationFolder; instance.run = run; instance.buildTask = new Task(BuildFunction, instance); instance.buildTask.Start(); return(instance); //System.Threading.CancellationTokenSource deployCTS; // //deployCTS = new System.Threading.CancellationTokenSource(); //var progress = new Progress<int>( p => deployProgressBarValue = p ); //await Task.Run( () => deployment.Deploy( run, progress, deployCTS.Token ), deployCTS.Token ); // //deployCTS.Cancel( false ); }