8000 Modern supply chain management by plioi · Pull Request #342 · fixie/fixie · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Modern supply chain management #342

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 17, 2024
Merged

Modern supply chain management #342

merged 3 commits into from
Aug 17, 2024

Conversation

plioi
Copy link
Contributor
@plioi plioi commented Aug 17, 2024

This establishes modern supply chain controls and uses them to simplify the solution:

  • Enable Package Source Mapping
  • Enable Central Package Management
  • Simplify the application of MinVer to all projects using a GlobalPackageReference.

Verified version numbers still appear on assemblies and nuget packages.

plioi added 3 commits August 17, 2024 11:55
Although this is less relevant when using the public nuget.org feed for all dependencies, it establishes an appropriate baseline any modern repo should start with. If we ever have a need for private feeds, they can be added here to ensure that intended-private packages always load from the intended private feed rather than from potentially maliicous same-named packages on the public feed.
Although this is less relevant when few projects reference the same packages, it establishes an appropriate baseline any modern repo should start with.
According to documentation, GlobalPackageReference silently takes care of the former explicit PrivateAssets and IncludeAssets values. From https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management#global-package-references we have:

> A global package reference is used to specify that a package will be used by every project in a repository. This includes packages that do versioning, extend your build, or any other packages that are needed by all projects. Global package references are added to the PackageReference item group with the following metadata:
>
> - IncludeAssets="Runtime;Build;Native;contentFiles;Analyzers"
>     This ensures that the package is only used as a development dependency and prevents any compile-time assembly references.
> - PrivateAssets="All"
>     This prevents global package references from being picked up by downstream dependencies.

Note that this technically *begins* the versioning of Fixie.Tests, but that is good as before this change it was getting the misleading default of 1.0.0.0, and now at least it versions accurately with the system under test.
@plioi plioi merged commit 8be1e10 into main Aug 17, 2024
1 check passed
@plioi plioi deleted the modern-supply-chain-management branch August 17, 2024 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0