This driver reads the .nuspec for each package on NuGet.org. This information is stored in Azure Table Storage for other drivers to use. This is an optimization to reduce the amount of data downloads from NuGet.org's public APIs in later steps.
CatalogScanDriverType enum value |
LoadPackageManifest |
Driver implementation | LoadPackageManifestDriver |
Processing mode | process latest catalog leaf per package ID and version |
Cursor dependencies | V3 package content: this driver needs the .nuspec from the package content resource |
Components using driver output | PackageCompatibilityToCsv : uses .nuspec and other information for compatibility calculationPackageManifestToCsv : .nuspec metadata fields written to CSV |
Temporary storage config | none |
Persistent storage config | Table Storage:PackageManifestTableName : .nuspec bytes stored using MessagePack and WideEntityStorageService |
Output CSV tables | none |
A batch of catalog leaf items are passed to the driver. For each catalog leaf, HttpClient
is used to fetch just the .nuspec from the NuGet V3 package content resource. The .nuspec bytes as provided by the package content resource are stored in Azure Table Storage as a wide entity.
The .nuspec file is the only required part of a NuGet package. It is an XML document and is sometimes referred to as the manifest.