Remove usages of AllRepoVersions.props#19317
Conversation
…P.NET Core and Windows Desktop
…package name for the arcade packages. Remove usage of AllRepoVersions.props
I think it would be better to retrieve that information from Arcade's build manifest which is already available at that time. The We will do the same for baseline testing the produced nuget packages but with the merged vertical manifest as an input. Here we just need the Arcade build manifest(s). EDIT: I also just filed dotnet/source-build#4297. It would be great if you could fix the NoTargets and Traversal versions as part of this. They will need the same treatment in the new target. All this doesn't need to be perfect as we will eventually get rid of all this when we have the necessary NuGet support. |
|
|
||
| <!-- Discover the Arcade SDKs built from the live Arcade source and set them as overrides here. --> | ||
| <Target Name="DiscoverArcadeSourceBuiltSdkOverrides" | ||
| DependsOnTargets="GetRepositoryReferenceInfo" |
There was a problem hiding this comment.
This target also depends on the dependent repositories being built which is a parent of GetRepositoryReferenceInfo.
| DependsOnTargets="GetRepositoryReferenceInfo" | |
| DependsOnTargets="BuildRepoReferences" |
| </Target> | ||
|
|
||
| <Target Name="SetSourceBuiltSdkOverrides" | ||
| Condition="'@(SourceBuiltSdkOverride)' != ''"> |
There was a problem hiding this comment.
I would also add a DependsOnTargets on the new defined target here in case someone tests this locally and directly invokes the SetSourceBuiltSdkOverrides target.
I agree with using the merged manifests eventually but we could do it in one fell swoop and change the other PackageVersion*.props generation to work off the manifests at the same time. That said, there are still two scenarios and we unfortunately can't drive everything off of the merged manifests:
I don't love the current path manipulation approach above but I'm fine with it as a temporary measure (please include a comment and issue link) |
|
I have an idea of how to make this all work cleanly though asset manifest inspection (and in general update how we look at dependencies), but I'll do that in a follow-up PR. |
Sounds good. Please file an issue so that we can discuss that. |
| <BuiltSdkPackageOverride Include="Microsoft.DotNet.Arcade.Sdk" Version="$(OutputPackageVersion)" /> | ||
| <BuiltSdkPackageOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Version="$(OutputPackageVersion)" /> | ||
| <BuiltSdkPackageOverride Include="Microsoft.DotNet.CMake.Sdk" Version="$(OutputPackageVersion)" /> |
There was a problem hiding this comment.
Where is OutputPackageVerison defined?
There was a problem hiding this comment.
OutputPackageVersion is currently defined in the git-info/arcade.props file that's generated by the VMR. So this doesn't fully get us off the git-info folder, but it at least gets us down to the point that we don't have any cross-project usage.
I plan to remove the dependency on the git-info folder for any and all package versions when I switch to the asset manifest model.
Filed dotnet/source-build#4302 |
Fixes dotnet/source-build#4036
Remove usages in Versions.props patching by using an alternative mechanism that's already in use for Microsoft.NETCore.App.
Remove usages for Arcade SDK resolution through some NuGet package inspection to discover the SDK version.