-
Notifications
You must be signed in to change notification settings - Fork 44
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
Major per-RuntimeIdentifier build refactoring #218
Conversation
@clairernovotny it would be great to have this PR reviewed. |
In general looks good. Can you please add a sample/test project that shows the overriding? Also, what's is the benefit of removing the extra metadata vs the extra complexity that's added? What do we get for it? |
@clairernovotny sure, I'll make a test project and update README to mention the ability to override paths. My rationale: This project is the foundation of many .NET projects. It should be written like a part of .NET/MSBuild SDK, with practices used there. In particular, the per-RID build feature is so similar to |
@clairernovotny done. I've removed P.S. merge with squash recommended. upd: NOMERGE |
@andrew-boyarshin just lmk when things are ready. |
@clairernovotny fixed and expanded test set (they were using Finally ready to be reviewed and merged. |
Thanks! |
ExtrasIncludeDefaultProjectBuildOutputInPackTarget
allows overriding the target which packs the RID-specific build output (assemblies and symbols), fixes Per-RuntimeIdentifier packaging doesn't allow overriding build output path in nupkg #217.Microsoft.Common.CrossTargeting.targets
upstream source code._SdkPrepareProjectFlavorMatrix
is now responsible for computing project flavors matrix:TargetFramework
×RuntimeIdentifier
._ComputeTargetFrameworkItems
and_WalkEachTargetPerFramework
on top of_SdkPrepareProjectFlavorMatrix
ProjectReference
item spec to simplify_WalkEachTargetPerFramework
(by removing duplication)MSBuildProjectFullPath
consistently, avoidMSBuildProjectFile
or mixing those two._ExtrasPackageRuntimeFiles
.KeepMetadata
where applicable (opt-out possible and verified).PackagePath
override sample