-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Multitarget packages to remove dependencies for source build #12936
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
We're about to factor most of those dependencies out of |
@SteveSandersonMS good to know. Will revert those changes. |
cc @HaoK for DataProtection, Identity |
src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
Show resolved
Hide resolved
.../Connections.Abstractions/ref/Microsoft.AspNetCore.Connections.Abstractions.netcoreapp3.0.cs
Show resolved
Hide resolved
@@ -3,6 +3,7 @@ | |||
<PropertyGroup> | |||
<Description>Common serialiation primitives for SignalR Clients Servers</Description> | |||
<TargetFrameworks>netstandard2.0;netcoreapp3.0</TargetFrameworks> | |||
<TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">netcoreapp3.0</TargetFrameworks> |
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.
Is it possible to make this a more generic thing in https://github.com/aspnet/AspNetCore/tree/master/eng/targets so we don't pollute all our .csproj's?
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.
Yea maybe probably
Is the multitargeting going to increase local build times substantially? Looking at this naively it seems that a build is going to do significantly more work. Ah, maybe you are mitigating this by hiding the multitargeting behind |
src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.csproj
Show resolved
Hide resolved
@SteveSandersonMS I don't see any significant build time increase on the CI. Do you have particular concerns (or numbers) for build time increases, maybe in a particular project? |
@SteveSandersonMS are the dependencies moving somewhere else? |
I’m concerned about the dev inner loop time. If you edit code inside a project A that is a deep dependency of B, then build B inside VS, does it now build A (and intermediate dependencies) multiple times, once for each target framework? |
a4ce65b
to
e6571c9
Compare
@SteveSandersonMS I tried factoring out the components changes but it turns out I'll need to disable source build for a ton of projects (Components, Mvc, SharedFx) to do so. I see your PR in https://github.com/aspnet/AspNetCore/pull/12999/files and don't think it'll be too difficult to rebase changes on top of this one. I need to get this change in since it will soon start blocking the dependency flow from Extensions => ... => AspNetCore in the 3.0 branch. As for the inner loop performance, I think that's something we can address separately since I'm not sure if the build time increase would be noticeable in practice. |
e6571c9
to
a51c223
Compare
Will file issues to follow up some of the feedback brought up here. |
* Add empty Authorization src and test projects * Add references * Move auth types into .Authorization project * Move auth tests * Fix Mvc.ViewFeatures * Remove the reference from .Web to .Authorization, so it's truly optional * Add empty Forms src and test projects * Remove dependencies from Components.csproj * Move forms sources and tests * Reference .Forms from .Web (needed unless we also have .Forms.Web) * Rebase on #12936 * Update reference assemblies * CR: Add Authorization namespace * Update ref sources * Add missing using * Add another missing using
A followup to dotnet/extensions#2090. WIP