// Returns false if user doesn't accept license agreements. private async Task <bool> CheckLicenseAcceptance( INuGetUI uiService, IEnumerable <PreviewResult> results, CancellationToken token) { // find all the packages that might need a license acceptance HashSet <PackageIdentity> licenseCheck = new HashSet <PackageIdentity>(PackageIdentity.Comparer); foreach (var result in results) { foreach (var pkg in result.Added) { licenseCheck.Add(pkg); } foreach (var pkg in result.Updated) { licenseCheck.Add(pkg.New); } } IEnumerable <UIPackageMetadata> licenseMetadata = await GetPackageMetadata(licenseCheck, token); // show license agreement if (licenseMetadata.Any(e => e.RequireLicenseAcceptance)) { var licenseInfoItems = licenseMetadata .Where(p => p.RequireLicenseAcceptance) .Select(e => new PackageLicenseInfo(e.Identity.Id, e.LicenseUrl, e.Authors)); return(uiService.PromptForLicenseAcceptance(licenseInfoItems)); } return(true); }
// Returns false if user doesn't accept license agreements. private async Task <bool> CheckLicenseAcceptanceAsync( INuGetUI uiService, IEnumerable <PreviewResult> results, CancellationToken token) { // find all the packages that might need a license acceptance var licenseCheck = new HashSet <PackageIdentity>(PackageIdentity.Comparer); foreach (var result in results) { foreach (var pkg in result.Added) { licenseCheck.Add(pkg); } foreach (var pkg in result.Updated) { licenseCheck.Add(pkg.New); } } var sources = _sourceProvider.GetRepositories().Where(e => e.PackageSource.IsEnabled); var licenseMetadata = await GetPackageMetadataAsync(sources, licenseCheck, token); TelemetryUtility.StopTimer(); // show license agreement if (licenseMetadata.Any(e => e.RequireLicenseAcceptance)) { var licenseInfoItems = licenseMetadata .Where(p => p.RequireLicenseAcceptance) .Select(e => new PackageLicenseInfo(e.Identity.Id, e.LicenseUrl, e.Authors)); return(uiService.PromptForLicenseAcceptance(licenseInfoItems)); } return(true); }
// Returns false if user doesn't accept license agreements. private async Task<bool> CheckLicenseAcceptance( INuGetUI uiService, IEnumerable<PreviewResult> results, CancellationToken token) { // find all the packages that might need a license acceptance HashSet<PackageIdentity> licenseCheck = new HashSet<PackageIdentity>(PackageIdentity.Comparer); foreach (var result in results) { foreach (var pkg in result.Added) { licenseCheck.Add(pkg); } foreach (var pkg in result.Updated) { licenseCheck.Add(pkg.New); } } IEnumerable<UIPackageMetadata> licenseMetadata = await GetPackageMetadata(licenseCheck, token); // show license agreement if (licenseMetadata.Any(e => e.RequireLicenseAcceptance)) { var licenseInfoItems = licenseMetadata .Where(p => p.RequireLicenseAcceptance) .Select(e => new PackageLicenseInfo(e.Identity.Id, e.LicenseUrl, e.Authors)); return uiService.PromptForLicenseAcceptance(licenseInfoItems); } return true; }