Skip to content

Central package version management#9885

Closed
ChadNedzlek wants to merge 10 commits intodotnet:mainfrom
ChadNedzlek:central-version
Closed

Central package version management#9885
ChadNedzlek wants to merge 10 commits intodotnet:mainfrom
ChadNedzlek:central-version

Conversation

@ChadNedzlek
Copy link
Contributor

Use central package versions to help pulling versions forward be easier.

Had to suppress a few new warnings and, in a few places, override the versions backward
because of breaking changes.

If this doesn't break the world, I'll be shocked.

alexperovich
alexperovich previously approved these changes Jul 5, 2022
@ChadNedzlek ChadNedzlek changed the title Central version Central package version management Jul 6, 2022
joeloff
joeloff previously approved these changes Jul 6, 2022
Copy link
Member

@joeloff joeloff left a comment

Choose a reason for hiding this comment

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

SignCheck and workload changes look fine to me, thank you.

rainersigwald
rainersigwald previously approved these changes Jul 6, 2022
<TestPackage Include="runtime.any.System.Runtime" VersionOverride="4.3.0" />
<TestPackage Include="runtime.aot.System.Runtime" VersionOverride="4.3.0" />

<PackageReference Include="@(TestPackage)" />
Copy link
Member

Choose a reason for hiding this comment

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

You might consider migrating to use PackageDownload for these; that's a bit cleaner representation of what you want to do with them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

? Instead of adding them to "PackageReference"? That would be ideal, because I think that would avoid a lot of mess I had to do.

Copy link
Member

Choose a reason for hiding this comment

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

Note that this is a legacy project and I expect it to go away when migrated all repos off from .pkgprojs.

@JoeRobich
Copy link
Member

Since package versions are now stored in both Directory.Packages.props and eng/Versions.props, it seems like it would be hard to keep track of where to update what. Is there any advice on how to manage this cleanly? Such as, only track versions for package subscriptions in Versions.props?

@ChadNedzlek
Copy link
Contributor Author

@JoeRobich, the package versions were already haphazardly stored... Most were in Versions.props, but some were arbitrarily included verbatim in csprojs (those are the versions that are encoded in Version.props).

I'm not sure what the best route forward is... personally I find Versions.props to be a headache, but it's all the maesto can update, so it needs to be present at least for any package that takes part in dependency flow. In addition, some of the variables defiend in that file are used in various places in arcade... so remove them is going to be a difficult, error prone process (because msbuild tends to just... keep on chugging if you try to use an undefined variable).

We could go the other direction, and put ALL the version in Versions.props, and then just have to indirect everything. I think a better long term solution is that Maestro understands Directory.Packages.props, and then we wouldn't need Versions.props at all, but we aren't at that place right now.

@lbussell
Copy link
Member

lbussell commented Jul 6, 2022

I started a source-build tarball build locally to see if this affects the prebuilt situation.

@dotnet dotnet deleted a comment from azure-pipelines bot Jul 11, 2022
@ChadNedzlek
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ChadNedzlek
Copy link
Contributor Author

Apparently NuGet/Home#10311 will cause a pretty big mess if we take this right now, so I'm closing this PR. Darn.

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.

8 participants