public async Task <PackageValidationResult> ValidateBeforeGeneratePackageAsync(PackageArchiveReader nuGetPackage, PackageMetadata packageMetadata) { var warnings = new List <string>(); var result = await CheckPackageEntryCountAsync(nuGetPackage, warnings); if (result != null) { return(result); } result = await CheckForUnsignedPushAfterAuthorSignedAsync( nuGetPackage, warnings); if (result != null) { return(result); } result = CheckRepositoryMetadata(packageMetadata, warnings); if (result != null) { return(result); } return(PackageValidationResult.AcceptedWithWarnings(warnings)); }
public async Task <PackageValidationResult> ValidateBeforeGeneratePackageAsync( PackageArchiveReader nuGetPackage, PackageMetadata packageMetadata, User currentUser) { var warnings = new List <IValidationMessage>(); var result = await CheckPackageEntryCountAsync(nuGetPackage, warnings); if (result != null) { return(result); } var nuspecFileEntry = nuGetPackage.GetEntry(nuGetPackage.GetNuspecFile()); using (var nuspecFileStream = await nuGetPackage.GetNuspecAsync(CancellationToken.None)) { if (!await IsStreamLengthMatchesReportedAsync(nuspecFileStream, nuspecFileEntry.Length)) { return(PackageValidationResult.Invalid(Strings.UploadPackage_CorruptNupkg)); } } result = await CheckForUnsignedPushAfterAuthorSignedAsync( nuGetPackage, warnings); if (result != null) { return(result); } result = CheckRepositoryMetadata(packageMetadata, warnings); if (result != null) { return(result); } result = await CheckLicenseMetadataAsync(nuGetPackage, warnings, currentUser); if (result != null) { _telemetryService.TrackLicenseValidationFailure(); return(result); } result = await CheckIconMetadataAsync(nuGetPackage, warnings, currentUser); if (result != null) { //_telemetryService.TrackIconValidationFailure(); return(result); } return(PackageValidationResult.AcceptedWithWarnings(warnings)); }