-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Fix fast up to date check with ServiceHub projects #77038
Fix fast up to date check with ServiceHub projects #77038
Conversation
This hacks around the fact that the Arcade bits we're currently picking up are older and don't correctly define the VSIX up-to-date checks needed. This overrides those targets and copies in the bits we're going to consume from the VS SDK directly.
Without this change, it's possible to make a change in the regular product but not get ServiceHub to rebuild. This is because the output group we consume in the VSIX consumes the published output (by necessity) but doesn't trigger the publish itself. The publish is triggered by the PublishProjectReferencesForVsixCreation in the same file prior to the VSIX build. But if the fast-up-to-date check sees the project as up to date (because no publish happened), then we'll never actually run the publish in the first place. The solution here is to add items that get published to the list of VSIX inputs, so that way we'll trigger the full build (and publish) correctly.
02bd14e
to
4c37d0b
Compare
<Project> | ||
|
||
<!-- The 9.0 Arcade targets we are consuming don't have Sets specified for the items, and don't include all items correctly. This overrides | ||
those targets so they don't interfere. These two empty targets can be deleted when we've removed the support from Arcade in favor of |
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.
what exactly needs to happen for this? Do we need to switch to arcade's 10 channel and update our VSSDK to some version?
Or are we planning on backporting the change to the arcade 9 channel along with the VSSDK fix?
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.
My plan:
- The VS SDK will take the proper fixes into their SDK, and we'll update to it. We'll delete our copies here.
- We'll delete the targets entirely from the 10.0 arcade channel, and once we update to arcade 10.0 we'll remove the overrides here.
The main goal then being the VS SDK is doing the thing it should be doing, and we don't have multiple places trying to fight at once.
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.
My assumption here is we'll be moving to 10.0 arcade soonish.
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 believe we can only move once there is a public preview download for .net 10. Not 100% sure what the date on that is.
<Project> | ||
|
||
<!-- The 9.0 Arcade targets we are consuming don't have Sets specified for the items, and don't include all items correctly. This overrides | ||
those targets so they don't interfere. These two empty targets can be deleted when we've removed the support from Arcade in favor of |
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.
Can you link to the version of these targets we are currently referencing?
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's this version:
I guess I could revise the comment, but fundamentally those need to be using the Set attribute or otherwise you end up with other issues. And the newer Arcade targets (and also the VS SDK targets if were consuming it via the SDK syntax) do that correctly.
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.
What is the 'Set' attribute?
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.
This fixes the fast-up-to-date check with ServiceHub projects. High level there were a few problems:
You will see overbuilding with this change due to #77039.