private void BuildEvents_OnBuildProjectBegin(string project, string projectconfig, string platform, string solutionconfig) { if (BuildAction == BuildActions.BuildActionDeploy) { return; } var eventTime = DateTime.Now; ProjectItem currentProject; if (BuildScope == BuildScopes.BuildScopeBatch) { currentProject = FindProjectItemInProjectsByUniqueName(project, projectconfig, platform); if (currentProject == null) { currentProject = AddProjectToVisibleProjectsByUniqueName(project, projectconfig, platform); } } else { currentProject = FindProjectItemInProjectsByUniqueName(project); if (currentProject == null) { currentProject = AddProjectToVisibleProjectsByUniqueName(project); } } lock (_buildingProjectsLockObject) { BuildingProjects.Add(currentProject); } ProjectState projectState; switch (BuildAction) { case BuildActions.BuildActionBuild: case BuildActions.BuildActionRebuildAll: projectState = ProjectState.Building; break; case BuildActions.BuildActionClean: projectState = ProjectState.Cleaning; break; case BuildActions.BuildActionDeploy: throw new InvalidOperationException("vsBuildActionDeploy not supported"); default: throw new ArgumentOutOfRangeException(); } OnBuildProjectBegin(this, new BuildProjectEventArgs(currentProject, projectState, eventTime, null)); }
private void BuildEvents_OnBuildProjectBegin(string project, string projectconfig, string platform, string solutionconfig) { if (BuildAction == BuildActions.BuildActionDeploy) { return; } var eventTime = DateTime.Now; ProjectItem currentProject; if (BuildScope == BuildScopes.BuildScopeBatch) { currentProject = FindProjectItemInProjectsByUniqueName(project, projectconfig, platform); if (currentProject == null) { currentProject = AddProjectToVisibleProjectsByUniqueName(project, projectconfig, platform); } } else { currentProject = FindProjectItemInProjectsByUniqueName(project); if (currentProject == null) { currentProject = AddProjectToVisibleProjectsByUniqueName(project); } } lock (_buildingProjectsLockObject) { BuildingProjects.Add(currentProject); } var projectState = GetProjectState(); OnBuildProjectBegin(this, new BuildProjectEventArgs(currentProject, projectState, eventTime, null)); }
/// <summary> /// A method called to notify the tool window that an individual project build has begun. /// </summary> /// <param name="project">The project.</param> /// <param name="projectConfig">The project config.</param> /// <param name="platform">The platform.</param> /// <param name="solutionConfig">The solution config.</param> internal void NotifyBuildProjConfigBegin(string project, string projectConfig, string platform, string solutionConfig) { BuildingProjects.Add(project); Caption = GetToolWindowCaption(); _viewModel.ProgressPercentage = ProgressPercentage; }