Skip to content
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

Switch to central package management #3093

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tomap
Copy link
Contributor

@tomap tomap commented Mar 26, 2024

Rendons à César...

All the merit goes to the creator of https://github.com/Webreaper/CentralisedPackageConverter

Two things to note:
1/ there were multiple nugets with different versions. The migration bumped them to the max version that was referenced
2) Except for xUnit, for which I used version

<PackageVersion Include="xunit" Version="2.6.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.4" />

instead of

<PackageVersion Include="xunit" Version="2.6.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.5" />

which has a new analyzer which was not happy with the fixture injection in tests.
https://xunit.net/xunit.analyzers/rules/xUnit1041
As I was not sure which fix to apply, I chose the safe path: rollback to working version

Copy link
Member

@mysticmind mysticmind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomap In principle I am okay with the idea of having centralized package management which is a good thing. That said, we have the following organization/groups of projects:

  • Projects/libs which we publish to NuGet
  • Projects for testing
  • Projects for samples.
  • Project pertaining to build system.

I would certainly want to keep explicit Directory.Packages.props for each so that it is lot more clearer to understand and manage things better. This way, we are not having the whole kitchen sink under one top level Directory.Packages.props.

This means that we may need to have a Directory.Packages.props at the top level with the packages needed for the core libraries, move all the unit tests under a parent folder named Tests & have a Directory.Packages.props specifically for tests and also a Directory.Packages.props for samples.

With regards to the build system, we don't want to mix it up at all so it should not be driven via the centralized Directory.Packages.props.

Towards the above, I will start making these changes to the project/code organization since folder structure changes will require changes to CI build etc.

@jeremydmiller Please chime in with your thoughts.

@tomap
Copy link
Contributor Author

tomap commented Mar 27, 2024

I understand. The conversion tool is certainly able to do that. And the nuget doc also explains how to handle that

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.

2 participants