static int Main(string[] args) { Log.Logger = new LoggerConfiguration() .WriteTo.ColoredConsole() .MinimumLevel.Warning() .CreateLogger(); try { if (args.Length < 2) { System.Console.Error.WriteLine("Usage: ICanHasDotnetCore.exe <output_directory> <dir_to_scan_1> [dir_to_scan_2] ... [dir_to_scan_n]"); return(1); } var directories = args.Skip(1).Select(Path.GetFullPath).ToArray(); var packageFiles = FindFiles(directories).ToArray(); var result = PackageCompatabilityInvestigator.Create(new NoNugetResultCache()) .Go(packageFiles) .Result; WriteToOutputFiles(args[0], result); return(0); } catch (Exception ex) { Log.Error(ex, "Something went wrong"); return(2); } }
public async Task Run() { var sw = Stopwatch.StartNew(); try { Log.Information("Requery Statistics Package Support Task Started"); var stats = _statisticsRepository.GetAllPackageStatistics(); var packageNames = stats.Select(s => s.Name).ToArray(); var result = await PackageCompatabilityInvestigator.Create(new NoNugetResultCache()) .Process("Requery", packageNames); foreach (var stat in stats) { var packageResult = result.Dependencies.FirstOrDefault(f => f.PackageName.EqualsOrdinalIgnoreCase(stat.Name)); UpdatePackage(packageResult, stat); } } catch (Exception ex) { Log.Error(ex, "Requery Statistics Package Support Task failed"); } Log.Information("Requery Statistics Package Support Task Finished in {time}", sw.Elapsed); }
public async Task <GetResultResponse> Demo() { var packagesFileDatas = new[] { new SourcePackageFile("Our Project", SourcePackageFileReader.PackagesConfig, Encoding.UTF8.GetBytes(DemoPackagesConfig)) }; var result = await PackageCompatabilityInvestigator.Create(_nugetResultCache) .Go(packagesFileDatas); return(BuildResponse(result)); }
public void EndToEndTest() { var result = PackageCompatabilityInvestigator.Create(new NoNugetResultCache()) .Go(new[] { new SourcePackageFile("PackagesConfig", SourcePackageFileReader.PackagesConfig, Encoding.UTF8.GetBytes(PackagesConfig)), new SourcePackageFile("ProjectJson", SourcePackageFileReader.ProjectJson, Encoding.UTF8.GetBytes(ProjectJson)), new SourcePackageFile("Paket", SourcePackageFileReader.Paket, Encoding.UTF8.GetBytes(Paket)) }) .Result; this.Assent(TreeOutputFormatter.Format(result)); }
public async Task <GetResultResponse> Get([FromBody] GetResultRequest request) { var sw = Stopwatch.StartNew(); var packagesFileDatas = request.PackageFiles.Select(p => new SourcePackageFile(p.Name, p.OriginalFileName ?? SourcePackageFileReader.PackagesConfig, DataUriConverter.ConvertFrom(p.Contents))).ToArray(); var result = await PackageCompatabilityInvestigator.Create(_nugetResultCache) .Go(packagesFileDatas); sw.Stop(); await _statisticsRepository.AddStatisticsForResult(result); LogSummaryMessage(result, sw); return(BuildResponse(result)); }
public async Task <ActionResult> GitHub([FromBody] GetGitHubRequest request) { var sw = Stopwatch.StartNew(); var packagesFileDatas = await _gitHubScanner.Scan(request.Id); if (packagesFileDatas.WasFailure) { return(BadRequest(packagesFileDatas.ErrorString)); } var result = await PackageCompatabilityInvestigator.Create(_nugetResultCache) .Go(packagesFileDatas.Value); sw.Stop(); Log.Information("Generated results for GitHub repo {Repo}", request.Id); LogSummaryMessage(result, sw); LogErroredAndNotFoundPackages(request.Id, result); return(Json(BuildResponse(result))); }