Ejemplo n.º 1
0
        private BuildViewModel ConvertToViewModel(Build build, BuildViewModel buildVm)
        {
            if (buildVm == null)
            {
                buildVm = new BuildViewModel();
            }

            // if the view model has already been set to finished, do not change any properties.
            if (buildVm.FinishedDateTime.HasValue)
            {
                return(buildVm);
            }

            buildVm.Id                = build.Id;
            buildVm.Project           = build.Project.Name;
            buildVm.Definition        = build.Definition.Name;
            buildVm.RequestedBy       = build.RequestedBy?.DisplayName;
            buildVm.RequestedFor      = build.RequestedFor?.DisplayName;
            buildVm.RequestedByShort  = build.RequestedBy?.UniqueName;
            buildVm.RequestedForShort = build.RequestedFor?.UniqueName;
            buildVm.QueuedDateTime    = build.QueueTime.ToLocalTime().DateTime;
            buildVm.StartedDateTime   = build.StartTime?.ToLocalTime().DateTime;
            buildVm.FinishedDateTime  = build.FinishTime?.ToLocalTime().DateTime;
            buildVm.Status            = GetVmBuildStatus(build.Status, build.Result);
            buildVm.WebUrl            = build.Links?.Web?.Href;

            return(buildVm);
        }
Ejemplo n.º 2
0
        public void StartBuild(FilePackageGenerator.Context context)
        {
            BuildViewModel buildViewModel = new BuildViewModel(context);

            buildViewModel.CloseMode = _commandLine.IsGenerateMode ? CloseMode.AlwaysClose : CloseMode.CloseOnlyWhenSuccess;

            if (_commandLine.IsGenerateMode)
            {
                buildViewModel.Messages.CollectionChanged += Messages_CollectionChanged;
            }

            RunMode mode = _commandLine.IsGenerateMode && !_commandLine.ShowProgressUi ? RunMode.Blocking : RunMode.Async;

            buildViewModel.Start(mode);

            if (mode == RunMode.Async)
            {
                BuildView buildView = new BuildView();
                buildView.DataContext = buildViewModel;
                buildView.ShowDialog();
            }

            buildViewModel.Detach();

            if (_commandLine.IsGenerateMode)
            {
                buildViewModel.Messages.CollectionChanged -= Messages_CollectionChanged;
            }
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> AddEdit(int?id)
        {
            var model = new BuildViewModel();

            if (id.HasValue)
            {
                model = await ApiUtility.GetAsyncById <BuildViewModel>(Services.Builds, id.Value);

                if (!model.IsNew)
                {
                    var project = await ApiUtility.GetAsyncById <ProjectModel>(Services.Projects, model.ProjectId);

                    if (project != null)
                    {
                        model.ProjectName = project.Name;
                        model.Projects.Add(project);
                    }
                }
            }
            else
            {
                var projects = await ApiUtility.GetAsync <ProjectModel>(Services.Projects);

                model.Projects.AddRange(projects);
            }

            return(View(model));
        }
Ejemplo n.º 4
0
        public IActionResult Build(BuildViewModel Model)
        {
            // Check if the model is valid
            if (!ModelState.IsValid)
            {
                Model.createdWork = new CreatedWork()
                {
                    SelectFromList = DatabaseConnector.GetWorkset(Model.WorkSetID).ExamStyle,
                    CatagoryTypes  = GetAllQuestions()
                };
                return(View(Model));
            }

            // Delete any work that may already exist for that workset
            DatabaseConnector.DeleteWork(Model.WorkSetID);

            // Add each piece of work to the database
            foreach (var work in Model.Work)
            {
                DatabaseConnector.AddWork(new Work()
                {
                    Difficulty   = 1,
                    QuestionType = work.TypeID,
                    Seed         = work.Seed,
                    WorkSetID    = Model.WorkSetID
                });
            }
            // Commit any changes to the database
            DatabaseConnector.PushChanges();

            return(Redirect("~/Work/Set"));
        }
Ejemplo n.º 5
0
        private (PipProcessErrorEventFields pipProcessError, string expectingConsoleLog, MockConsole console, BuildViewModel viewModel) CreatePipProcessErrorTestElement()
        {
            var pipProcessError = new PipProcessErrorEventFields(
                (long)24,
                "my cool pip",
                @"specs\mypip.dsc",
                @"specs\workingDir",
                "coolpip.exe",
                "Failure message Line1\r\nFailure message Line2\rFailure message Line3\n",
                "Find output file in following path:",
                @"specs\workingDir\out.txt",
                -1,
                "what does this do?",
                "my pip");

            var processedOutputToLog = "Failure message Line1%0D%0A##[error]Failure message Line2%0D##[error]Failure message Line3%0A##[error]";
            var expectingConsoleLog  = @$ "##vso[task.logIssue type=error;][Pip0000000000000018, {pipProcessError.ShortPipDescription}, {pipProcessError.PipSpecPath}] - failed with exit code {pipProcessError.ExitCode}, {pipProcessError.OptionalMessage}%0D%0A##[error]{processedOutputToLog}%0D%0A##[error]{pipProcessError.MessageAboutPathsToLog}%0D%0A##[error]{pipProcessError.PathsToLog}";

            var console              = new MockConsole();
            var viewModel            = new BuildViewModel();
            var buildSummaryFilePath = Path.Combine(TestOutputDirectory, "test.md");

            viewModel.BuildSummary = new BuildSummary(buildSummaryFilePath);

            return(pipProcessError, expectingConsoleLog, console, viewModel);
        }
        private async Task SaveBuild(BuildViewModel build)
        {
            var poeBuild = build.Build;

            if (!poeBuild.CanRevert && poeBuild.IsDirty)
            {
                // Build was created in this program run and was not yet saved.
                // Thus it needs a name.
                var name = await _dialogCoordinator.ShowValidatingInputDialogAsync(this,
                                                                                   L10n.Message("Saving new Build"),
                                                                                   L10n.Message("Enter the name of the build."),
                                                                                   poeBuild.Name,
                                                                                   s => _buildValidator.ValidateExistingFileName(s, build));

                if (string.IsNullOrEmpty(name))
                {
                    return;
                }
                poeBuild.Name = name;
            }
            poeBuild.LastUpdated = DateTime.Now;
            await SaveBuildToFile(build);

            // Save parent folder to retain ordering information when renaming
            await SaveBuildToFile(build.Parent);
        }
Ejemplo n.º 7
0
        public void TestUpdataBuild_OK2()
        {
            BuildSetService service = new BuildSetService();

            BuildSetViewModel ViewModel  = service.GetAllBuilds();
            BuildViewModel    lasstbuild = ViewModel.Builds.Last();


            string  buildID         = "000001G008";
            string  buildName       = "test8";
            string  buildAddr       = "test addr 8";
            decimal buildLong       = 123;
            decimal buildLat        = 45;
            decimal totalArea       = 789;
            int     numberOfPeople  = 1234;
            int     transCount      = 45;
            int     installCapacity = 78;
            int     operateCapacity = 90;
            int     designMeters    = 100;



            ViewModel = service.UpdatePartBuildInfo(buildID, buildName, buildAddr,
                                                    buildLong, buildLat, totalArea, numberOfPeople,
                                                    transCount, installCapacity, operateCapacity, designMeters
                                                    );

            Console.WriteLine(UtilTest.GetJson(ViewModel));
        }
Ejemplo n.º 8
0
        public FTPWriter(BuildViewModel _BVM)
        {
            if (Properties.Settings.Default.FTPValid)
            {
                BVM = _BVM;

                Adress   = Properties.Settings.Default.FTPAddress.Split(':')[0];
                Port     = Properties.Settings.Default.FTPAddress.Split(':')[1];
                Username = Properties.Settings.Default.FTPUN;
                Password = Properties.Settings.Default.FTPPW;

                Client                = new FtpClient(Adress);
                Client.Port           = int.Parse(Port);
                Client.ConnectTimeout = 3000;
                if (Username != "")
                {
                    Client.Credentials = new System.Net.NetworkCredential(Username, Password);
                }

                Client.RecursiveList = true;

                Progress = delegate(FtpProgress p) {
                    if (p.Progress != 100)
                    {
                        BVM.SetSpeed(String.Format("{0}/s, {1}%", WriterOperations.BytesToString(p.TransferSpeed), p.Progress.ToString().Substring(0, 2)));
                    }
                };
            }
        }
Ejemplo n.º 9
0
        public ActionResult Index()
        {
            HttpCookie Cookie = AuthorizeCookie();

            var CustomerCart = new Cart
            {
                Blade    = _database.Blades.Find(StringToInt(Cookie.Values["Blade"])),
                Handle   = _database.Handles.Find(StringToInt(Cookie.Values["Handle"])),
                ReelSeat = _database.ReelSeats.Find(StringToInt(Cookie.Values["ReelSeat"]))
            };

            var Model = new BuildViewModel
            {
                Blades            = _database.Blades.ToList(),
                Handles           = _database.Handles.ToList(),
                ReelSeats         = _database.ReelSeats.ToList(),
                InfoHeader        = _database.Texts.Find("InfoHeader"),
                InfoBladesHeader  = _database.Texts.Find("InfoBladesHeader"),
                InfoHandlesHeader = _database.Texts.Find("InfoHandlesHeader"),
                InfoReelsHeader   = _database.Texts.Find("InfoReelsHeader"),
                InfoBody          = _database.Texts.Find("InfoBody"),
                InfoBladesBody    = _database.Texts.Find("InfoBladesBody"),
                InfoHandlesBody   = _database.Texts.Find("InfoHandlesBody"),
                InfoReelsBody     = _database.Texts.Find("InfoReelsBody"),


                Cart = CustomerCart
            };

            return(View(Model));
        }
Ejemplo n.º 10
0
        private async Task Paste(IBuildViewModel target)
        {
            var             targetFolder = target as IBuildFolderViewModel ?? target.Parent;
            IBuildViewModel pasted;

            if (_clipboardIsCopy)
            {
                var newBuild = _buildClipboard.Build.DeepClone() as PoEBuild;
                if (newBuild == null)
                {
                    throw new InvalidOperationException("Can only copy builds, not folders.");
                }
                newBuild.Name = Util.FindDistinctName(newBuild.Name, targetFolder.Children.Select(b => b.Build.Name));
                pasted        = new BuildViewModel(newBuild, Filter);
            }
            else
            {
                pasted          = _buildClipboard;
                _buildClipboard = null;
            }
            targetFolder.Children.Add(pasted);

            // Folders and non-dirty builds need to be saved to create the new file.
            var build = pasted.Build as PoEBuild;

            if (build == null || !build.IsDirty)
            {
                await SaveBuildToFile(pasted);
            }
        }
Ejemplo n.º 11
0
        private async Task SaveBuildAs(BuildViewModel vm)
        {
            var build = vm.Build;
            var name  = await _dialogCoordinator.ShowInputAsync(this, L10n.Message("Save as"),
                                                                L10n.Message("Enter the new name of the build"), build.Name);

            if (string.IsNullOrWhiteSpace(name))
            {
                return;
            }
            var newBuild = build.DeepClone();

            newBuild.Name = name;
            var newVm = new BuildViewModel(newBuild, Filter);

            var builds = vm.Parent.Children;

            if (build.CanRevert)
            {
                // The original build exists in the file system.
                build.RevertChanges();
                builds.Insert(builds.IndexOf(vm), newVm);
            }
            else
            {
                // The original build does not exist in the file system
                // It will be replaced by the new one.
                var i = builds.IndexOf(vm);
                builds.RemoveAt(i);
                builds.Insert(i, newVm);
            }

            CurrentBuild = newVm;
            await SaveBuild(newVm);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Gets all build view models.
        /// </summary>
        /// <returns>Returns the build view models.</returns>
        public IEnumerable <BuildViewModel> GetBuildViewModels()
        {
            var builds = this.QueryBuilds();

            foreach (var build in builds)
            {
                var model = new BuildViewModel
                {
                    BuildDefinition           = build.Definition.Name,
                    BuildId                   = build.Id,
                    BuildStatus               = build.Status.HasValue ? build.Status.Value : BuildStatus.None,
                    BuildResult               = build.Result.GetValueOrDefault(BuildResult.None),
                    Finished                  = build.FinishTime.GetValueOrDefault(DateTime.Now).ToLocalTime(),
                    QueueCount                = build.QueuePosition.GetValueOrDefault(0),
                    Queued                    = build.QueueTime.GetValueOrDefault(DateTime.Now),
                    RequestedBy               = build.RequestedBy.DisplayName,
                    RequestedByProfilePicture = build.RequestedBy.GetProfilePath(),
                    SourceBranch              = build.SourceBranch,
                    SourceVersionCommit       = this.GetCommitText(build.SourceVersion, build.Repository.Id),
                    Started                   = build.StartTime.GetValueOrDefault(DateTime.Now).ToLocalTime(),
                    Timeline                  = !this.Configuration.CompactMode ? this.GetTimeline(build) : Enumerable.Empty <BuildTimeLineElementViewModel>()
                };
                yield return(model);
            }
        }
Ejemplo n.º 13
0
        public void ForwardedErrorOrWarningTest()
        {
            const string   ErrorName   = "MyTestErrorEvent";
            const string   ErrorText   = "Error Event logged from worker";
            const string   WarningName = "MyTestWarningEvent";
            const string   WarningText = "Warning Event logged from worker";
            var            console     = new MockConsole();
            BuildViewModel viewModel   = new BuildViewModel();

            using (AzureDevOpsListener listener = new AzureDevOpsListener(Events.Log, console, DateTime.Now, viewModel, false, null))
            {
                listener.RegisterEventSource(global::BuildXL.Engine.ETWLogger.Log);
                global::BuildXL.Engine.Tracing.Logger.Log.DistributionWorkerForwardedError(LoggingContext, new WorkerForwardedEvent()
                {
                    EventId       = 100,
                    EventName     = ErrorName,
                    EventKeywords = (int)global::BuildXL.Utilities.Instrumentation.Common.Keywords.UserError,
                    Text          = ErrorText,
                });
                console.ValidateCall(MessageLevel.Info, ErrorText);
                global::BuildXL.Engine.Tracing.Logger.Log.DistributionWorkerForwardedWarning(LoggingContext, new WorkerForwardedEvent()
                {
                    EventId       = 200,
                    EventName     = WarningName,
                    EventKeywords = (int)global::BuildXL.Utilities.Instrumentation.Common.Keywords.UserError,
                    Text          = WarningText,
                });
                console.ValidateCall(MessageLevel.Info, WarningText);
            }
        }
Ejemplo n.º 14
0
        public void TestAddBuild_OK2()
        {
            BuildSetService service = new BuildSetService();

            BuildSetViewModel ViewModel  = service.GetAllBuilds();
            BuildViewModel    lasstbuild = ViewModel.Builds.Last();


            BuildInfoSet buildInfoSet = new BuildInfoSet();



            buildInfoSet.BuildName = "TestName" + (DateTime.Now).ToString();
            buildInfoSet.AliasName = "TestName" + (DateTime.Now).ToString();

            buildInfoSet.BuildOwner = "TestOwner" + (DateTime.Now).ToString();



            //BuildID,DataCenterID,BuildName,AliasName,BuildOwner
            //,DistrictCode,BuildAddr,BuildLong,BuildLat,BuildYear
            //,UpFloor,DownFloor,BuildFunc,TotalArea,AirArea
            //,DesignDept,WorkDept,CreateTime,CreateUser,MonitorDate
            //,AcceptDate,NumberOfPeople,SPArea,Image,TransCount
            //,InstallCapacity,OperateCapacity,DesignMeters,Mobiles

            ViewModel = service.AddBuild(buildInfoSet);

            Console.WriteLine(UtilTest.GetJson(ViewModel));
        }
Ejemplo n.º 15
0
        /// <summary>
        /// If you want to edit a workset it has to be reloaded into the page
        /// this is what this function does
        /// it also then generates the models for that work.
        /// </summary>
        /// <param name="setID"></param>
        /// <returns></returns>
        public IActionResult Build(int setID)
        {
            // See
            if (setID == 0)
            {
                return(Unauthorized());
            }
            if (UserHelper.OwnsWorkset(UserHelper.GetUserId(HttpContext.Session), setID) ||
                (UserHelper.UserInRole(UserHelper.GetUserId(HttpContext.Session), UserHelper.ROLE_ADMIN) && UserHelper.InSameOrganisation(UserHelper.GetUserId(HttpContext.Session), setID)))
            {
                // Gets the workset information from the database
                var workset = DatabaseConnector.GetWorkset(setID);
                if (workset == null)
                {
                    return(NotFound());
                }

                //Sets up the array of work components
                List <WorkPartial> currentwork = new List <WorkPartial>();

                // Get the work already in this sheet from the database
                var current = DatabaseConnector.GetWhere <Work>($"WorkSetID={setID}");

                // Iterates through every piece of work currently avaliable.
                foreach (var piece in current)
                {
                    // Gets the information about the question.
                    var workPartial = new WorkPartial()
                    {
                        TypeName = DatabaseConnector.Get <QuestionTypes>().FirstOrDefault(x => x.TypeID == piece.QuestionType).Type_Name,
                        TypeID   = piece.QuestionType,
                        Seed     = piece.Seed,
                        Answer   = ""
                    };

                    // If the work is supposed to have a set answer do this
                    if (workset.ExamStyle)
                    {
                        workPartial.Answer = Interpreter.GenerateQuestion(AppContext.BaseDirectory + @"wwwroot\lib\Python\" + DatabaseConnector.Get <QuestionTypes>().SingleOrDefault(x => x.TypeID == piece.QuestionType).Class, piece.Seed).GetAnswer().ToString();
                    }
                    currentwork.Add(workPartial);
                }

                // Create the build model from all of the given information and pass it to the page.
                var model = new BuildViewModel()
                {
                    WorkSetID   = setID,
                    createdWork = new CreatedWork()
                    {
                        SelectFromList = DatabaseConnector.GetWorkset(setID).ExamStyle,
                        CatagoryTypes  = GetAllQuestions()
                    },
                    Work = currentwork.ToArray()
                };

                return(View(model));
            }
            return(Unauthorized());
        }
Ejemplo n.º 16
0
        public void TestUpdataBuild_OK()
        {
            BuildSetService service = new BuildSetService();

            BuildSetViewModel ViewModel  = service.GetAllBuilds();
            BuildViewModel    lasstbuild = ViewModel.Builds.Last();

            string newBuildID = "000001G005";


            BuildInfoSet buildInfoSet = new BuildInfoSet();

            buildInfoSet.BuildID      = newBuildID;
            buildInfoSet.DataCenterID = "000001";
            buildInfoSet.BuildName    = "TestName" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            buildInfoSet.AliasName    = "TestName" + DateTime.Now.ToString("HH:mm:ss");
            buildInfoSet.BuildOwner   = "TestOwner";

            buildInfoSet.DistrictCode = "310000";
            buildInfoSet.BuildAddr    = "Addr Test";
            buildInfoSet.BuildLong    = 123;
            buildInfoSet.BuildLat     = 45;
            buildInfoSet.BuildYear    = 2018;

            buildInfoSet.UpFloor   = (DateTime.Now.Hour + 1);
            buildInfoSet.DownFloor = DateTime.Now.Hour;
            buildInfoSet.BuildFunc = "G";
            buildInfoSet.TotalArea = 5000;
            buildInfoSet.AirArea   = 3000;

            buildInfoSet.DesignDept  = "设计单位";
            buildInfoSet.WorkDept    = "使用单位";
            buildInfoSet.CreateTime  = DateTime.Now;
            buildInfoSet.CreateUser  = "******";
            buildInfoSet.MonitorDate = DateTime.Now;

            buildInfoSet.AcceptDate     = DateTime.Now;
            buildInfoSet.NumberOfPeople = 500;
            buildInfoSet.SPArea         = 500;
            buildInfoSet.Image          = null;
            buildInfoSet.TransCount     = 5;

            buildInfoSet.InstallCapacity = 500;
            buildInfoSet.OperateCapacity = 400;
            buildInfoSet.DesignMeters    = 20;
            buildInfoSet.Mobiles         = "12345678901";


            //BuildID,DataCenterID,BuildName,AliasName,BuildOwner
            //,DistrictCode,BuildAddr,BuildLong,BuildLat,BuildYear
            //,UpFloor,DownFloor,BuildFunc,TotalArea,AirArea
            //,DesignDept,WorkDept,CreateTime,CreateUser,MonitorDate
            //,AcceptDate,NumberOfPeople,SPArea,Image,TransCount
            //,InstallCapacity,OperateCapacity,DesignMeters,Mobiles

            ViewModel = service.UpdateBuild(buildInfoSet);

            Console.WriteLine(UtilTest.GetJson(ViewModel));
        }
        private void BuildEvents_OnBuildBegin(vsBuildScope Scope, vsBuildAction Action)
        {
            BuildVM     = new BuildViewModel();
            DataContext = BuildVM;

            BuildVM.Name = State.DTE.Solution.FullName;
            BuildVM.Start(Scope, Action);
        }
Ejemplo n.º 18
0
        private async Task SaveBuild(BuildViewModel build)
        {
            build.Build.LastUpdated = DateTime.Now;
            await SaveBuildToFile(build);

            // Save parent folder to retain ordering information when renaming
            await SaveBuildToFile(build.Parent);
        }
Ejemplo n.º 19
0
        public BuildView(SDGuiStrings strings, IBuildMessenger buildMessenger)
        {
            Strings = strings;

            DataContext = new BuildViewModel(buildMessenger, Hide);
            InitializeComponent();

            MouseLeftButtonDown += (s, a) => DragMove();
        }
Ejemplo n.º 20
0
        private void BuildViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            BuildViewModel buildViewModel = (BuildViewModel)sender;

            if (e.PropertyName == "CurrentPackage")
            {
                System.Console.WriteLine(string.Format(FilePackager.Console.Properties.Resources.CurrentPackage, buildViewModel.CurrentPackage));
            }
        }
Ejemplo n.º 21
0
        public BuildView(SDGuiStrings strings, BuildMessenger buildMessenger)
        {
            Strings = strings;

            DataContext = new BuildViewModel(buildMessenger, Hide);
            InitializeComponent();

            MouseLeftButtonDown += OnMouseDown;
            MouseLeftButtonUp   += OnMouseUp;
        }
Ejemplo n.º 22
0
 public MainWindow(BuildViewModel buildViewModel)
 {
     if (buildViewModel == null)
     {
         throw new ArgumentNullException("buildViewModel");
     }
     _buildViewModel  = buildViewModel;
     this.DataContext = _buildViewModel;
     InitializeComponent();
 }
        public void NewBuild(IBuildFolderViewModel folder)
        {
            var name = Util.FindDistinctName(SerializationConstants.DefaultBuildName,
                                             folder.Children.Select(b => b.Build.Name));
            var build = new BuildViewModel(new PoEBuild {
                Name = name
            }, Filter);

            folder.Children.Add(build);
            CurrentBuild = build;
        }
Ejemplo n.º 24
0
        public async Task <IActionResult> Details(string name)
        {
            var runs = await _metricsService.GetRunsByBuildNameAsync(name);

            var model = new BuildViewModel
            {
                Name     = name,
                TestRuns = runs.OrderByDescending(r => r.RunAt).ToList()
            };

            return(View(model));
        }
Ejemplo n.º 25
0
        /// <nodoc />
        public AzureDevOpsListener(
            Events eventSource,
            IConsole console,
            DateTime baseTime,
            BuildViewModel buildViewModel)
            : base(eventSource, baseTime, warningMapper: null, level: EventLevel.Verbose, captureAllDiagnosticMessages: false, timeDisplay: TimeDisplay.Seconds)
        {
            Contract.Requires(console != null);
            Contract.Requires(buildViewModel != null);

            m_console        = console;
            m_buildViewModel = buildViewModel;
        }
        private async Task ImportCurrentFromClipboard()
        {
            var pasted = await PasteFromClipboard(BuildRoot);

            if (pasted == null)
            {
                return;
            }
            var build = new BuildViewModel(pasted, Filter);

            BuildRoot.Children.Add(build);
            CurrentBuild = build;
        }
Ejemplo n.º 27
0
        public void BuildProgressTest()
        {
            var            console   = new MockConsole();
            BuildViewModel viewModel = new BuildViewModel();

            using (AzureDevOpsListener listener = new AzureDevOpsListener(Events.Log, console, DateTime.Now, viewModel, false, null))
            {
                listener.RegisterEventSource(global::BuildXL.Scheduler.ETWLogger.Log);
                listener.RegisterEventSource(global::BuildXL.Pips.ETWLogger.Log);
                var procsExecuting  = 10;
                var procsSucceeded  = 10;
                var procsFailed     = 10;
                var procsSkipped    = 10;
                var procsPending    = 10;
                var procsWaiting    = 10;
                var done            = procsSucceeded + procsFailed + procsSkipped;
                var total           = done + procsExecuting + procsWaiting + procsPending;
                var processPercent  = (100.0 * done) / (total * 1.0);
                var currentProgress = Convert.ToInt32(Math.Floor(processPercent));

                global::BuildXL.Scheduler.Scheduler.LogPipStatus(LoggingContext,
                                                                 pipsSucceeded: 10,
                                                                 pipsFailed: 10,
                                                                 pipsSkippedDueToFailedDependencies: 10,
                                                                 pipsRunning: 10,
                                                                 pipsReady: 10,
                                                                 pipsWaiting: 10,
                                                                 pipsWaitingOnSemaphore: 10,
                                                                 servicePipsRunning: 10,
                                                                 perfInfoForConsole: "",
                                                                 pipsWaitingOnResources: 10,
                                                                 procsExecuting: procsExecuting,
                                                                 procsSucceeded: procsSucceeded,
                                                                 procsFailed: procsFailed,
                                                                 procsSkippedDueToFailedDependencies: procsSkipped,
                                                                 procsPending: procsPending,
                                                                 procsWaiting: procsWaiting,
                                                                 procsCacheHit: 10,
                                                                 procsNotIgnored: 10,
                                                                 limitingResource: "",
                                                                 perfInfoForLog: "",
                                                                 overwriteable: true,
                                                                 copyFileDone: 100,
                                                                 copyFileNotDone: 100,
                                                                 writeFileDone: 10,
                                                                 writeFileNotDone: 10,
                                                                 procsRemoted: 0);
                console.ValidateCall(MessageLevel.Info, $"##vso[task.setprogress value={currentProgress};]Pip Execution phase");
            }
        }
Ejemplo n.º 28
0
        /// <summary>
        /// Starts the build in non-async mode.
        /// </summary>
        /// <param name="context">The context.</param>
        public void StartBuild(FilePackager.Packaging.FilePackageGenerator.Context context)
        {
            BuildViewModel buildViewModel = new BuildViewModel(context);

            buildViewModel.CloseMode = CloseMode.AlwaysClose;

            buildViewModel.PropertyChanged            += BuildViewModel_PropertyChanged;
            buildViewModel.Messages.CollectionChanged += Messages_CollectionChanged;
            buildViewModel.Start(RunMode.Blocking);

            MaxSeverityFound = buildViewModel.MaxSeverityFound;

            buildViewModel.PropertyChanged            -= BuildViewModel_PropertyChanged;
            buildViewModel.Messages.CollectionChanged -= Messages_CollectionChanged;
        }
Ejemplo n.º 29
0
        public void TfsServerList_OnCount_ReturnsTwoUris()
        {
            //Arrange
            var fakeRepo = A.Fake <ITfsRepository>();

            A.CallTo(() => fakeRepo.GetTfsServerList()).Returns <List <string> >(new List <string>()
            {
                "http://visualstudioonline.com",
                "http://microsoft.com"
            });

            var fakeBuildViewModel = new BuildViewModel(fakeRepo);

            Assert.IsTrue(fakeBuildViewModel.TfsServerList.Count > 0);
        }
Ejemplo n.º 30
0
        /// <nodoc />
        public AzureDevOpsListener(
            Events eventSource,
            IConsole console,
            DateTime baseTime,
            BuildViewModel buildViewModel,
            bool useCustomPipDescription,
            [CanBeNull] WarningMapper warningMapper)
            : base(eventSource, baseTime, warningMapper: warningMapper, level: EventLevel.Verbose, captureAllDiagnosticMessages: false, timeDisplay: TimeDisplay.Seconds, useCustomPipDescription: useCustomPipDescription)
        {
            Contract.RequiresNotNull(console);
            Contract.RequiresNotNull(buildViewModel);

            m_console        = console;
            m_buildViewModel = buildViewModel;
        }