-
Notifications
You must be signed in to change notification settings - Fork 201
Refactor SDK targets to address multiple writes and flaky builds #1861
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
Conversation
|
Actually, after reviewing the changes technically this is not breaking. The convention in MSBuild is any property, target, or item starting with |
brettsam
left a 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.
Reviewing these msbuild targets is tough! I think my only comment is that I'd like to see some comments sprinkled throughout the new Targets explaining what they're doing so it's easier for other folks to find the right place to update in the future.
…d nuget feed issues (#1946) * Worker Extension project incremental build support (#1749) * Merge main to feature/ext-proj (#1832) * Refactor SDK targets to address multiple writes and flaky builds (#1861) * Ensure ExtensionsCsProjDirectory is a full path (#1938) * Pass RestoreSources to inner-build restore task (#1937) * Rev SDK version to 1.16.0-preview1 (#1941) * Skip func targets during design time build (#1954) * Correct merge mistakes * Update sln * Fix properties * update worker.config.json generation (#2122) * [SDK] Remove properties from inner-build (#2161) * Expand on RemoveProperties for inner build. Fix source gen default * Add PublishProfile to remove props * Un-remove some properties from inner build
Issue describing the changes in this PR
resolves #1834
Pull request checklist
release_notes.mdAdditional information
This PR is a near complete overhaul of our SDK targets. The aim of the changes is to integrate more closely with existing dotnet SDK targets to eliminate redundant work.
Copytasks have been removed and instead we augment specific item groups so thatCopyToOutputDirectoryandCopyToPublishDirectorytasks will copy our files for us.InputsandOutputs.extensions.jsonis always written to, so we always see it as changed and also write to it.IncrementalOutputPath. Only copying the final files in one go as part of the existingCopyToDirectoryDirectory(or publish dir).publish, we never actually callpublishon the innerWorkerExtensions.csproj. Instead, we can rely on the existing build targets and collecting of files to accomplish the same thing more efficiently.Concerns
This is a breaking change for anyone that has customized our targets. Hence the draft state. I am going to go through this and see if I can rename targets back to existing ones to minimize or eliminate the breaking change.See comment below