public RenderOutputFromEvents(ParsedVendorDependencies deps, ILogger log) { _log = log; var renderer = Console.IsOutputRedirected ? (IRenderEvent) new SimpleRender(deps) : new PrettyRenderToConsole(deps, log); _queue = new BlockingCollection <EngineEvent>(); _uiTaskTokenSource = new CancellationTokenSource(); _uiTaskToken = _uiTaskTokenSource.Token; UiTask = Task.Run(() => { while (!_uiTaskToken.IsCancellationRequested) { var evt = _queue.Take(_uiTaskToken); log.LogDebug("Rendering {evt}", evt.GetType()); renderer.Render(evt); if (evt is AllDone) { _uiTaskTokenSource.Cancel(); } } }); }
public SimpleRender(ParsedVendorDependencies deps) { _packageIdMaxLength = deps.Packages .Select(p => GetPackagePrefix(p).Length) .Max() + 1; Console.WriteLine(); }
public ResolveEngine Initialize(ParsedVendorDependencies vendorDependencies) { _vendorDependencies = vendorDependencies; _sourceRepositories = _vendorDependencies.Sources .ToDictionary(s => s.Name, s => new SourceRepository(new PackageSource(s.Url), _providers)); _sources = _vendorDependencies.Sources.ToDictionary(s => s.Name); _packageIdentitiesBySourceName = _vendorDependencies.Packages .GroupBy(p => p.SourceName) .ToDictionary(g => g.Key, g => g.Select(p => new InternalPackageInformation { Package = p, Source = _sources[p.SourceName], Identity = new PackageIdentity(p.PackageId, NuGetVersion.Parse(p.PackageVersion)) })); return(this); }
private void Parse(string fileContent) { var reader = new VendorDependenciesReader.VendorDependenciesReader(new StringReader(fileContent)); _parsedVendor = reader.ReadAsync().Result; }