/// <summary> /// Event raised when the build of an individual project is done. /// </summary> /// <param name="projectName">The project name.</param> /// <param name="projectConfig">The project config.</param> /// <param name="platform">The platform.</param> /// <param name="solutionConfig">The solution config.</param> /// <param name="success">True if project build was successful, otherwise false.</param> private void BuildEvents_OnBuildProjConfigDone(string projectName, string projectConfig, string platform, string solutionConfig, bool success) { var project= Path.GetFileName(projectName); ProjectInfo projectInfo; if (project != null && _availableProjectsDict.TryGetValue(project, out projectInfo)) { var config = new BuildConfig(projectInfo, projectConfig, platform, solutionConfig) { ItsSuccessFlag = success }; if (projectInfo.ItsStartupProjectFlag) _eventAggregator.PublishEvent(_eventAggregator.StartupProjectBuildFinished, config); else { var fileName = Path.GetFileName(project); if (fileName != null && fileName.Equals(InstallerProjectName, StringComparison.CurrentCultureIgnoreCase)) _eventAggregator.PublishEvent(_eventAggregator.InstallerProjectBuildFinished, config); else _eventAggregator.PublishEvent(_eventAggregator.IndividualProjectBuildFinished, config); } } }
/// <summary> /// Event raised when the build of an individual project begins. /// </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> private void BuildEvents_OnBuildProjConfigBegin(string project, string projectConfig, string platform, string solutionConfig) { ProjectInfo projectInfo; if (_availableProjectsDict.TryGetValue(project, out projectInfo)) { var config = new BuildConfig(projectInfo, projectConfig, platform, solutionConfig); if (projectInfo.ItsStartupProjectFlag) _eventAggregator.PublishEvent(_eventAggregator.StartupProjectBuildStarted, config); else { //TODO find a way to use a guid instead var fileName = Path.GetFileName(project); if (fileName != null && fileName.Equals(InstallerProjectName, StringComparison.CurrentCultureIgnoreCase)) _eventAggregator.PublishEvent(_eventAggregator.InstallerProjectBuildStarted, config); else _eventAggregator.PublishEvent(_eventAggregator.IndividualProjectBuildStarted, config); } } }
private void StartupProjectBuildFinishedEventHandler(object sender, BuildConfig e) { _fileSystemSerivce.StartScanAsync(e.ItsProjectInfo.ItsProjectPaths.ItsOutputPath, true, ItsInstallerProjectManagementService.ItsWixFile); }