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