-
Notifications
You must be signed in to change notification settings - Fork 352
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
adding AddRuntimeOSTask #4713
adding AddRuntimeOSTask #4713
Conversation
...Tasks.TargetFramework.Sdk/src/build/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk.targets
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk/src/AddRuntimeOSPropertyTask.cs
Outdated
Show resolved
Hide resolved
@@ -116,4 +117,9 @@ | |||
<PackageTargetFrameworks>@(PackageTargetFrameworksFinalList)</PackageTargetFrameworks> | |||
</PropertyGroup> | |||
</Target> | |||
|
|||
<Target Name="AddRuntimeOSProperty"> |
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.
Who calls this and when is it imported?
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 see, you're expecting that to happen in the runtime repo. I guess that's ok since none of the Config system depends on this property. In that case, I wonder if we should put this in the root arcade SDK rather than config system. It was in the config system historically because we added it in 2.0 at the same time we added the config system and did it in the generated props. We could reconsider that. Maybe file a follow up issue to consider a move, and de-dup with what @dagood added.
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.
Restore Depends on this target.
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'm pretty lost on what this change is for. But yeah, seems really similar to
Target: https://github.com/dotnet/runtime/blob/3a9f8ae2142647777161dbc7cd78ef890c37df06/tools-local/tasks/installer.tasks/installer.tasks.csproj#L48-L69
Task: https://github.com/dotnet/runtime/blob/3a9f8ae2142647777161dbc7cd78ef890c37df06/tools-local/tasks/installer.tasks/GetTargetMachineInfo.cs
How we write the file before Restore runs: https://github.com/dotnet/runtime/blob/3a9f8ae2142647777161dbc7cd78ef890c37df06/eng/Build.props#L65
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.
Actually, can't we use? RepoTasksOutputFile?
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.
It looks like we strip of architecture so that it can be specified independently. That seems like a reasonable thing to do. Maybe we can get the installer task to do that too and set the property without the arch. It could be moved down into the base Arcade SDK if that makes sense I dunno. It seems reasonable to dedup these. @Anipik and @dagood how about you work together after the initial config system work is done to unify these two?
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.
Yeah, sounds reasonable. /cc @NikolaMilosavljevic
Putting it in Arcade would be best IMO. dotnet/windowsdesktop has a copy: https://github.com/dotnet/windowsdesktop/blob/c5ca8a09a6e8eed54f6a37ce78c3468c00b5f6b4/Directory.Build.targets#L64.
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.
@Anipik and @dagood how about you work together after the initial config system work is done to unify these two?
Was this ever done? I don't see these two being unified.
cc @ViktorHofer - since we are hitting a similar issue with dotnet/runtime#35538 (comment)
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.
Not that I'm aware of. I no longer work in this area so it's possible I missed further discussion, but it has been a while. (@NikolaMilosavljevic)
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, this is not done yet.
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.
OK, modulo the naming nit.
src/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk/src/AddRuntimeOSPropertyTask.cs
Show resolved
Hide resolved
src/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk/src/AddRuntimeOSPropertyTask.cs
Show resolved
Hide resolved
src/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk/src/AddRuntimeOSPropertyTask.cs
Show resolved
Hide resolved
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.
A few more nitpicks. 🙂
This tasks creates a new file with runtimeOS property.
The filepath is a property which is set on the runtime repo side to a tmp folder and is conditionally Imported if the path exists.