Skip to content

Latest commit

 

History

History
196 lines (150 loc) · 21.2 KB

PackageManifests.md

File metadata and controls

196 lines (150 loc) · 21.2 KB

PackageManifests

This table contains all well known fields in the NuGet package manifest (.nuspec file) that are recognized by official NuGet client software.

The data in this table is meant to represent the original data discoverable in the .nuspec but depending on the implementation of NuGet client's NuspecReader class, some fields may be manipulated or parsed projections of the original XML string.

Cardinality Exactly one per package on NuGet.org
Child tables
Parent tables
Column used for CSV partitioning Identity
Column used for Kusto partitioning Identity
Key fields Identity
Data file container name packagemanifests
Driver PackageManifestToCsv
Record type PackageManifestRecord

Table schema

Column name Data type Required Description
ScanId string No Unused, always empty
ScanTimestamp timestamp No Unused, always empty
LowerId string Yes Lowercase package ID. Good for joins
Identity string Yes Lowercase package ID and lowercase, normalized version. Good for joins
Id string Yes Original case package ID
Version string Yes Original case, normalized package version
CatalogCommitTimestamp timestamp Yes Latest catalog commit timestamp for the package
Created timestamp Yes, for non-Deleted When the package version was created
ResultType enum Yes Type of record (e.g. Available, Deleted)
Size int Yes, for non-Deleted Size of .nuspec in bytes
OriginalId string Yes, for non-Deleted Original package ID, docs
OriginalVersion string Yes, for non-Deleted Original package version, non-normalized, docs
MinClientVersion string No docs
DevelopmentDependency bool Yes, for non-Deleted Defaults to false, docs
IsServiceable bool Yes, for non-Deleted Defaults to false, docs
Authors string No Freeform author names, docs
Copyright string No docs
Description string No docs
Icon string No Embedded icon file name, docs
IconUrl string No docs
Language string No docs
LicenseUrl string No docs
Owners string No Freeform owner names, not the same as NuGet.org owners, docs
ProjectUrl string No docs
Readme string No Embedded readme file name, docs
ReleaseNotes string No docs
RequireLicenseAcceptance bool Yes, for non-Deleted Defaults to false, docs
Summary string No docs
Tags string No docs
Title string No Display name for package, not the same as package ID, docs
PackageTypes array of objects No docs
LicenseMetadata object No Embedded license info, docs
RepositoryMetadata object No Source repository info, docs
ReferenceGroups array of objects No docs
ContentFiles array of objects No docs
DependencyGroups array of objects No docs
FrameworkAssemblyGroups array of objects No docs
FrameworkRefGroups array of objects No docs
ContentFilesHasFormatException bool Yes, for non-Deleted Bad <file> element caused an error, defaults to false
DependencyGroupsHasMissingId bool Yes, for non-Deleted Missing ID in dependency groups caused an error, defaults to false
SplitTags array of strings Yes, for non-Deleted Tags split into an array using NuGet.org V3 Utils.SplitTags, may not match all tag splitting variants

ResultType schema

The ResultType enum indicates the possible variants of records.

Enum value Description
Available The package is available and processed successfully
Deleted The package is deleted and no metadata is available
Error There was an error when processing the package leading to partial results

If the ResultType is Error, the table field ContentFilesHasFormatException or DependencyGroupsHasMissingId will be true.

PackageTypes schema

The PackageTypes field is an array of objects. Each object has the following schema.

Property name Data type Required Description
Name string true The name of the package type
Version string true The System.Version of the package type. Defaults to 0.0

LicenseMetadata schema

The LicenseMetadata field is an object with the following schema.

Property name Data type Required Description
Type enum true The type of license value
License string true Either the SPDX license expression or license file name
Version string true The version of the license element. Always 1.0.0
LicenseUrl string true Either a link to the parsed license expression or a deprecation URL for embedded license files
WarningsAndErrors array of strings false List of warnings and errors found file parsing the license expression

The Type property is an enum with the following possible values.

Enum value Description
Expression The package has an embedded SPDX license expression
File The package has an embedded license file

RepositoryMetadata schema

The RepositoryMetadata field is an object with the following schema.

Property name Data type Required Description
Type string false The type of source repository
Url string false The URL to the source repository
Branch string false The branch of the source
Commit string false The commit hash or revision identifier for the source

ReferenceGroups schema

The ReferenceGroups field is an array of objects. Each object has the following schema.

See the .nuspec documentation on the field for more information.

Property name Data type Required Description
TargetFramework string true Short target framework name for the group of references
Items array of strings true The assembly reference names in the single target framework group

ContentFiles schema

The ContentFiles field is an array of objects. Each object has the following schema.

See the .nuspec documentation for more information.

Property name Data type Required
Include string true
Exclude string false
BuildAction string false
CopyToOutput bool false
Flatten bool false

DependencyGroups schema

The DependencyGroups field is an array of objects. Each object has the following schema.

See the .nuspec documentation for more information.

Property name Data type Required Description
TargetFramework string true Short target framework name for the group of references
Packages array of objects true The framework reference names in the single target framework group

The Packages property is an array of objects. Each object has the following schema.

Property name Data type Required Description
Id string true The package ID of the dependency
VersionRange string true The NuGet version range for acceptable dependency versions
Include array of strings true Can be an empty array
Exclude array of strings true Can be an empty array

FrameworkAssemblyGroups schema

The FrameworkAssemblyGroups field is an array of objects. Each object has the following schema.

See the .nuspec documentation for more information.

Property name Data type Required Description
TargetFramework string true Short target framework name for the group of framework assemblies
Items array of strings true The framework assembly names in the single group

FrameworkRefGroups schema

The FrameworkRefGroups field is an array of objects. Each object has the following schema.

See the .nuspec documentation for more information.

Property name Data type Required Description
TargetFramework string true Short target framework name for the group of framework references
FrameworkReferences array of object true The framework references in the single target framework group

The FrameworkReferences property is an array of objects. Each object has the following schema.

Property name Data type Required Description
Name string true The name of the framework reference

SplitTags schema

The SplitTags field is an array of strings. The Tags field is split by various separator characters (,, , \t, |, ;) and trimmed by those same characters. Duplicates may occur. The order is not guaranteed.