-
Notifications
You must be signed in to change notification settings - Fork 2.7k
[dev/release/2.0.0] Implement auto dependency flow Repo API #14518
Conversation
Applies to test dependency restore.
dependencies.props
Outdated
@@ -17,18 +17,14 @@ | |||
<CoreClrCurrentRef>96793f61d3d482bcb59326c18a75bce39971c55f</CoreClrCurrentRef> | |||
</PropertyGroup> | |||
|
|||
<!-- Auto-upgraded properties for each build info dependency. --> | |||
<!-- Tests/infrastructure dependency versions. --> | |||
<PropertyGroup> | |||
<CoreFxExpectedPrerelease>servicing-25727-01</CoreFxExpectedPrerelease> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
slightly orthogonal but we should probably eliminate this and instead include the exact package versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, I'll add this change. Makes sense to me to do it in this PR since it'll fall in orchestrator scope once it builds tests.
After trying a build when working on the source-build side, I saw that CoreCLR wasn't taking the |
tests/dir.props
Outdated
https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json; | ||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; | ||
https://api.nuget.org/v3/index.json; | ||
$(OverridePackageSource); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need $(OverridePackageSource)
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I'll remove--leftover from copying from CoreFX.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I don't want to change this here I wish they used OverridePackageSource instead hardcoding the AzureTransfer path behind the OverwriteCoreCLRPackageVersion property. @dagood would you mind filing an issue for that to make it consistent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, created https://github.com/dotnet/coreclr/issues/14525.
I hit a restore problem when trying to use this in source-build and added a fix. Sorry for the bumpiness--I made sure builds worked and put the packages in the right place on Win and Fedora this time. |
NuGet.props
Outdated
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; | ||
https://api.nuget.org/v3/index.json; | ||
$(RestoreSources) | ||
</RestoreSources> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note this new file to hold the shared sources. Since tests/dir.props
doesn't import dir.props
I had to have this in some other file.
This could also go in dependencies.props
, which both dir.props files already import. At first I didn't like that, but now I'm thinking it kind of makes sense since RestoreSources
is dependency-related. What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is fine to go into dependencies.props.
CoreCLR normally depends on src/NuGet.Config. However, passing any override source makes the NuGet.Config not used at all, which fails package restore. The fix is to start using the RestoreSources property. I used the shared dependencies.props file to avoid duplicating URLs in dir.props and tests/dir.props.
Most changes here aren't necessary for auto dependency flow yet (dotnet/source-build#200) because these are only test dependencies, but this aligns the naming for the future and adds the dependency override
Import
.The
PackageOutputPath
override change is needed now: it allows the implementation in BuildTools to set the value rather than always using the hard-coded one.