- 
                Notifications
    You must be signed in to change notification settings 
- Fork 379
Add Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk package #4030
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
        
          
                src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/Directory.Build.props
          
            Show resolved
            Hide resolved
        
      | I was hoping that this PR would also contain other parts of core-setup that are necessary to build a shared framework. We are currently keeping copies of these files in the CoreFxTesting package and would like to get rid of them: 
 | 
| Yeah, this is very targeted at unblocking 5.0 repo consolidation. I doubt it's usable for anything else at the moment. | 
        
          
                ...tNet.Build.Tasks.SharedFramework.Sdk/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk.csproj
          
            Show resolved
            Hide resolved
        
              
          
                src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/sdk/Sdk.props
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...soft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/acquire-nuget-exe/acquire-nuget-exe.proj
          
            Show resolved
            Hide resolved
        
              
          
                src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/framework.bundle.targets
              
                Outdated
          
            Show resolved
            Hide resolved
        
      | Any more comments? I'm planning to merge this at noon Pacific 10/2 otherwise, to try to make sure dotnet/windowsdesktop doesn't end up with a dev build of this package. | 
Add a shared framework generation tooling package. This PR is an initial move of targets/props and tasks from Core-Setup to Arcade that allows me to separate WindowsDesktop out of Core-Setup without duplicating this chunk.
For https://github.com/dotnet/core-setup/issues/4787 and https://github.com/dotnet/core-setup/issues/5732.
I may add more to this SDK to reduce duplication further (once I see how much is left in the new WindowsDesktop repo), however I do not recommend using this SDK in other repos like ASP.NET Core. That is, this is not for #2704. It is a step in that direction (now I know how to author SDK packages) however this package may not be incrementally improvable to get us there.
Per #4015 (comment), my plan is to get
Microsoft.DotNet.Build.Tasks.SharedFramework.Sdkin now to solve the immediate need, and later create aMicrosoft.DotNet.SharedFramework.Sdkpackage (with probably no compatibility) that is reasonably shareable by ASP.NET Core.Also, note that since this is an SDK package, its version needs to be put into
global.json. To get that auto-updated by Darc/Maestro++, I filed #4015 and preemptively plugged the potential package IDs into Maestro++ with dotnet/arcade-services#662. So, I may need to manually update this package until that's deployed, but I'm not concerned.The first commit is a simple move of code from Core-Setup to Arcade. I don't plan on making any fixes to the code here beyond what's necessary to get it working as an SDK and building in the Arcade ecosystem. I recommend reviewing the second commit, where I added the SDK project structure and made tweaks to work as an SDK.
The package ends up like this, comparable to the structure of
Microsoft.NET.Sdk:sdk\Sdk.propssdk\Sdk.targetstargets\...tools\net472\...tools\netcoreapp2.1\...