public DocumentBuilder( IEnumerable <Assembly> assemblies, ImmutableArray <string> postProcessorNames, string templateHash, string intermediateFolder = null, string commitFromSHA = null, string commitToSHA = null) { Logger.LogVerbose("Loading plug-in..."); using (new LoggerPhaseScope("ImportPlugins", true)) { var assemblyList = assemblies?.ToList(); _container = GetContainer(assemblyList); _container.SatisfyImports(this); _currentBuildInfo.CommitFromSHA = commitFromSHA; _currentBuildInfo.CommitToSHA = commitToSHA; if (intermediateFolder != null) { _currentBuildInfo.PluginHash = ComputePluginHash(assemblyList); _currentBuildInfo.TemplateHash = templateHash; _currentBuildInfo.DirectoryName = IncrementalUtility.CreateRandomDirectory(intermediateFolder); } } Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded."); foreach (var processor in Processors) { Logger.LogVerbose($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } _postProcessors = GetPostProcessor(postProcessorNames); _intermediateFolder = intermediateFolder; _lastBuildInfo = LoadLastBuildInfo(); }
public DocumentBuilder( IEnumerable <Assembly> assemblies, ImmutableArray <string> postProcessorNames, string templateHash, string intermediateFolder = null, string commitFromSHA = null, string commitToSHA = null, bool cleanupCacheHistory = false) { Logger.LogVerbose("Loading plug-in..."); using (new LoggerPhaseScope("ImportPlugins", LogLevel.Verbose)) { var assemblyList = assemblies?.ToList() ?? new List <Assembly>(); assemblyList.Add(typeof(DocumentBuilder).Assembly); _container = CompositionContainer.GetContainer(assemblyList); _container.SatisfyImports(this); _assemblyList = assemblyList; } Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded."); foreach (var processor in Processors) { Logger.LogVerbose($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } _commitFromSHA = commitFromSHA; _commitToSHA = commitToSHA; _templateHash = templateHash; _intermediateFolder = intermediateFolder; _cleanupCacheHistory = cleanupCacheHistory; _postProcessorsManager = new PostProcessorsManager(_container, postProcessorNames); }
public DocumentBuilder(IEnumerable <Assembly> assemblies = null) { using (new LoggerPhaseScope(PhaseName)) { Logger.LogInfo("Loading plug-in..."); GetContainer(DefaultAssemblies.Union(assemblies ?? new Assembly[0])).SatisfyImports(this); Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded:"); foreach (var processor in Processors) { Logger.LogInfo($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } } }
public DocumentBuilder(IEnumerable <Assembly> assemblies = null) { Logger.LogVerbose("Loading plug-in..."); var assemblyList = assemblies?.ToList(); _container = GetContainer(assemblyList); _container.SatisfyImports(this); _currentBuildInfo.PluginHash = ComputePluginHash(assemblyList); Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded."); foreach (var processor in Processors) { Logger.LogVerbose($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } }
public DocumentBuilder( IEnumerable <Assembly> assemblies, ImmutableArray <string> postProcessorNames, string templateHash, string intermediateFolder = null, string commitFromSHA = null, string commitToSHA = null) { Logger.LogVerbose("Loading plug-in..."); using (new LoggerPhaseScope("ImportPlugins", LogLevel.Verbose)) { var assemblyList = assemblies?.ToList() ?? new List <Assembly>(); assemblyList.Add(typeof(DocumentBuilder).Assembly); _container = CompositionUtility.GetContainer(assemblyList); _container.SatisfyImports(this); _currentBuildInfo.CommitFromSHA = commitFromSHA; _currentBuildInfo.CommitToSHA = commitToSHA; if (intermediateFolder != null) { _currentBuildInfo.PluginHash = ComputePluginHash(assemblyList); _currentBuildInfo.TemplateHash = templateHash; _currentBuildInfo.DirectoryName = IncrementalUtility.CreateRandomDirectory(intermediateFolder); } } Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded."); foreach (var processor in Processors) { Logger.LogVerbose($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } if (intermediateFolder != null) { var expanded = Environment.ExpandEnvironmentVariables(intermediateFolder); if (expanded.Length == 0) { expanded = "."; } _intermediateFolder = Path.GetFullPath(expanded); } _lastBuildInfo = BuildInfo.Load(_intermediateFolder); _postProcessorsManager = new PostProcessorsManager(_container, postProcessorNames); }
public DocumentBuilder( IEnumerable <Assembly> assemblies, ImmutableArray <string> postProcessorNames, string intermediateFolder = null) { Logger.LogVerbose("Loading plug-in..."); using (new PerformanceScope("ImportPlugins", LogLevel.Diagnostic)) { var assemblyList = assemblies?.ToList(); _container = GetContainer(assemblyList); _container.SatisfyImports(this); _currentBuildInfo.PluginHash = ComputePluginHash(assemblyList); } Logger.LogInfo($"{Processors.Count()} plug-in(s) loaded."); foreach (var processor in Processors) { Logger.LogVerbose($"\t{processor.Name} with build steps ({string.Join(", ", from bs in processor.BuildSteps orderby bs.BuildOrder select bs.Name)})"); } _postProcessors = GetPostProcessor(postProcessorNames); _intermediateFolder = intermediateFolder; _lastBuildInfo = LoadLastBuildInfo(); }
private void LogEntryMonitor_NewLogEntry(object sender, DataProcessingServiceLog logEntry) { Application.Current.Dispatcher.BeginInvoke((Action)(() => { var logEntryViewModel = new LogEntryViewModel(logEntry); if (IsAppropriateForAllMessagesList(logEntry)) { AllLogMessages.Add(logEntryViewModel); } if (logEntryViewModel.IsError) { ErrorLogMessages.Add(logEntryViewModel); } if (logEntryViewModel.ExecutorType.HasValue) { switch (logEntryViewModel.ExecutorType.Value) { case DataProcessingServiceExecutorType.Processor: if (logEntryViewModel.ProcessorName != "Unknown") { var matchingProcessor = Processors.SingleOrDefault(p => p.Details.Name == logEntryViewModel.ProcessorName); if (matchingProcessor == null) { matchingProcessor = new ProcessorViewModel( new ProcessorDetails( logEntryViewModel.ProcessorName, logEntryViewModel.InputTypeName, logEntryViewModel.OutputTypeName) ); // Sort alphabetically var insertIndex = Processors.Count(processor => processor.Details.Name.CompareTo(matchingProcessor.Details.Name) < 0); Processors.Insert(insertIndex, matchingProcessor); } matchingProcessor.LogEntries.Add(logEntryViewModel); } break; case DataProcessingServiceExecutorType.Task: var matchingTask = Tasks.SingleOrDefault(t => t.Details.Name == logEntryViewModel.ProcessorName); if (matchingTask == null) { matchingTask = new TaskViewModel(new TaskDetails(logEntryViewModel.ProcessorName)); // Sort alphabetically var insertIndex = Tasks.Count(task => task.Details.Name.CompareTo(matchingTask.Details.Name) <= 0); Tasks.Insert(insertIndex, matchingTask); } matchingTask.LogEntries.Add(logEntryViewModel); if (logEntry.Details is ExecutionSummaryLogEntryDetails && (!matchingTask.LastExecutionTime.HasValue || matchingTask.LastExecutionTime < logEntry.Timestamp)) { matchingTask.LastExecutionTime = logEntry.Timestamp; } break; default: throw new ArgumentOutOfRangeException(); } } })); }