Beispiel #1
0
        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();
                    }
                }
            });
        }
Beispiel #2
0
 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;
        }