Nuget - package metadata extraction job, DB changes, and dependencies
This implements the background job that handles the nuspec
file and extracts the information into the database. It also creates the database and model structure needed to store this data.
- Some investigation is needed to know which parts of the
nuspec
file should be extracted to have it exposed by the Package Metadata Service. (or do we extract them all?) - Some thinking has to be made how do we store this metadata information. The easy and simple solution would be to have a
Packages::NugetMetadatum
model (same as what has been done forconan
ormaven
). A more complex but flexible solution would be to have aPackages::Metadatum
model with two columns:name
,value
and thus store metadata vertically instead of horizontally in the table. It's a generic approach but I'm not sure that this effort is worth it. - Same for dependencies, how do we persist them. !14263 (closed) is adding the db table for package dependencies.
Note: no additional endpoints are added in this step.
Related Issues:
Investigation: #33590 (closed) NuGet Parent issue: #20050 (closed)
This is step 4 of 7 in implementing the NuGet API MVC:
- #36496 (closed) - API Skeleton + The Service Index + authentication
- gitlab-workhorse#235 (closed) - Workhorse upload route
- #36499 (closed) - Push/Delete Service
- #36502 (closed) - Metadata extraction job, DB changes, and dependencies
- #36504 (closed) - Package Metadata Service
- #36505 (closed) - Search Service
- #36506 (closed) - Package Content Service
Edited by Steve Abrams