-
Notifications
You must be signed in to change notification settings - Fork 123
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use csproj as pack input instead of nuspec
Now that sourcelink is a native part of the .NET SDK, Arcade doesn't bring sourcelink packages in anymore. Now that the cyclic package dependency is avoided, these projects don't need to use nuspecs anymore. This removes custom infrastructure and allows better source build controls. I diffed the produced packages and the content in the .NETCoreApp folder is identical (a deps.json file is added but that's recommended by msbuild for build tasks these days). The .NET Framework output is significantly different as it now includes all dependencies that aren't supplied by the MSBuild inside Visual Studio.
- Loading branch information
1 parent
006ca8c
commit 481ba16
Showing
64 changed files
with
309 additions
and
437 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
<!-- Copied from arcade with small modifications. --> | ||
<Project> | ||
|
||
<PropertyGroup> | ||
<IncludeBuildOutput>false</IncludeBuildOutput> | ||
<IsPackable>true</IsPackable> | ||
<!-- Build Tasks should not include any dependencies --> | ||
<SuppressDependenciesWhenPacking Condition="'$(SuppressDependenciesWhenPacking)' == ''">true</SuppressDependenciesWhenPacking> | ||
<!-- Build Tasks should have this set per https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Versioning.md#recommended-settings --> | ||
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion> | ||
<BuildTaskTargetFolder Condition="'$(BuildTaskTargetFolder)' == ''">tools</BuildTaskTargetFolder> | ||
<PackTasks Condition="'$(PackTasks)' == ''">true</PackTasks> | ||
<TargetsForTfmSpecificContentInPackage Condition="'$(PackTasks)' == 'true'">$(TargetsForTfmSpecificContentInPackage);_AddBuildOutputToPackageCore;_AddBuildOutputToPackageDesktop</TargetsForTfmSpecificContentInPackage> | ||
<DevelopmentDependency>true</DevelopmentDependency> | ||
<!-- Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder do not have exact matches in the other location. --> | ||
<NoWarn>$(NoWarn);NU5128</NoWarn> | ||
</PropertyGroup> | ||
|
||
<!-- | ||
Default to including all *.props and *.targets files | ||
from the project directory into the NuGet package root | ||
--> | ||
<ItemGroup Condition="'$(EnableDefaultItems)' != 'false'"> | ||
<None Condition="'$(EnableDefaultNoneItems)' != 'false'" | ||
Include="**/*.props;**/*.targets" | ||
Pack="true" | ||
PackagePath="%(RecursiveDir)%(Filename)%(Extension)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<None Include="$(RepoRoot)License.txt" PackagePath="LICENSE.txt" Pack="true"/> | ||
</ItemGroup> | ||
|
||
<!-- Don't include assemblies that MSBuild ships with. --> | ||
<ItemGroup> | ||
<PackageReference Update="Microsoft.Build" Publish="false" /> | ||
<PackageReference Update="Microsoft.Build.Framework" Publish="false" /> | ||
<PackageReference Update="Microsoft.Build.Tasks.Core" Publish="false" /> | ||
<PackageReference Update="Microsoft.Build.Utilities.Core" Publish="false" /> | ||
<PackageReference Update="Microsoft.NET.StringTools" Publish="false" /> | ||
<PackageReference Update="System.Collections.Immutable" Publish="false" /> | ||
</ItemGroup> | ||
|
||
<!-- Don't include assemblies that are provided by the SDK, next to MSBuild. --> | ||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(SkipSDKInboxPublishExcludes)' != 'true'"> | ||
<PackageReference Update="Newtonsoft.Json" Publish="false" /> | ||
<PackageReference Update="NuGet.Commands" Publish="false" /> | ||
<PackageReference Update="NuGet.Common" Publish="false" /> | ||
<PackageReference Update="NuGet.Configuration" Publish="false" /> | ||
<PackageReference Update="NuGet.Frameworks" Publish="false" /> | ||
<PackageReference Update="NuGet.Packaging" Publish="false" /> | ||
<PackageReference Update="NuGet.ProjectModel" Publish="false" /> | ||
<PackageReference Update="NuGet.Versioning" Publish="false" /> | ||
</ItemGroup> | ||
|
||
<!-- Don't include assemblies that are inbox in Desktop MSBuild --> | ||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'"> | ||
<PackageReference Update="System.Buffers" Publish="false" /> | ||
<PackageReference Update="System.Memory" Publish="false" /> | ||
<PackageReference Update="System.Numerics.Vectors" Publish="false" /> | ||
<PackageReference Update="System.Reflection.Metadata" Publish="false" /> | ||
<PackageReference Update="System.Reflection.MetadataLoadContext" Publish="false" /> | ||
<PackageReference Update="System.Runtime.CompilerServices.Unsafe" Publish="false" /> | ||
<PackageReference Update="System.Security.Cryptography.Xml" Publish="false" /> | ||
<PackageReference Update="System.Text.Encodings.Web" Publish="false" /> | ||
<PackageReference Update="System.Text.Json" Publish="false" /> | ||
<PackageReference Update="System.Threading.Tasks.Dataflow" Publish="false" /> | ||
<PackageReference Update="System.Threading.Tasks.Extensions" Publish="false" /> | ||
<PackageReference Update="System.ValueTuple" Publish="false" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<!-- | ||
Update all PackageReference items to default Publish to true. | ||
This forces the publish output to contain the dlls. | ||
--> | ||
<PackageReference Update="@(PackageReference)"> | ||
<Publish Condition="'%(PackageReference.Publish)' == ''">true</Publish> | ||
<ExcludeAssets Condition="'%(PackageReference.Publish)' == 'false'">runtime</ExcludeAssets> | ||
</PackageReference> | ||
|
||
<!-- | ||
Update all Reference items to have Pack="false" | ||
This removes the frameworkDependency nodes from the generated nuspec | ||
--> | ||
<Reference Update="@(Reference)" | ||
Pack="false" /> | ||
</ItemGroup> | ||
|
||
<!-- Desktop MSBuild compatibilty --> | ||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'"> | ||
<PackageReference Update="System.Text.Json" Version="7.0.1" /> | ||
<PackageReference Update="Microsoft.Extensions.Logging.Console" Version="7.0.0" /> | ||
<PackageReference Update="Microsoft.Extensions.DependencyModel" Version="7.0.0" /> | ||
<PackageReference Update="System.Collections.Immutable" Version="7.0.0" /> | ||
<PackageReference Update="System.Reflection.Metadata" Version="7.0.0" /> | ||
</ItemGroup> | ||
|
||
<!-- Publish .NET Core assets and include them in the package under $(BuildTaskTargetFolder) directory. --> | ||
<Target Name="_AddBuildOutputToPackageCore" DependsOnTargets="Publish" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> | ||
<PropertyGroup> | ||
<BuildTaskTargetTfmSpecificFolder Condition="'$(BuildTaskTargetTfmSpecificFolder)' == ''">net</BuildTaskTargetTfmSpecificFolder> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<TfmSpecificPackageFile Include="$(PublishDir)**" | ||
PackagePath="$(BuildTaskTargetFolder)/$(BuildTaskTargetTfmSpecificFolder)/%(RecursiveDir)%(FileName)%(Extension)"/> | ||
</ItemGroup> | ||
</Target> | ||
|
||
<!-- Include .NET Framework build outputs in the package under $(BuildTaskTargetFolder) directory. --> | ||
<Target Name="_AddBuildOutputToPackageDesktop" Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'"> | ||
<PropertyGroup> | ||
<BuildTaskTargetTfmSpecificFolder Condition="'$(BuildTaskTargetTfmSpecificFolder)' == ''">netframework</BuildTaskTargetTfmSpecificFolder> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<TfmSpecificPackageFile Include="$(OutputPath)**" PackagePath="$(BuildTaskTargetFolder)/$(BuildTaskTargetTfmSpecificFolder)/%(RecursiveDir)%(FileName)%(Extension)"/> | ||
</ItemGroup> | ||
</Target> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 0 additions & 10 deletions
10
src/Microsoft.Build.StandardCI/Microsoft.Build.StandardCI.nuspec
This file was deleted.
Oops, something went wrong.
4 changes: 4 additions & 0 deletions
4
src/Microsoft.Build.StandardCI/buildTransitive/Microsoft.Build.StandardCI.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<Import Project="..\build\$(MSBuildThisFileName).props"/> | ||
</Project> |
2 changes: 1 addition & 1 deletion
2
src/Microsoft.Build.Tasks.Git.UnitTests/Microsoft.Build.Tasks.Git.UnitTests.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 0 additions & 15 deletions
15
src/Microsoft.Build.Tasks.Git/Microsoft.Build.Tasks.Git.nuspec
This file was deleted.
Oops, something went wrong.
4 changes: 2 additions & 2 deletions
4
src/Microsoft.Build.Tasks.Git/build/Microsoft.Build.Tasks.Git.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<PropertyGroup> | ||
<MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile> | ||
<MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile> | ||
<MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile> | ||
<MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile> | ||
</PropertyGroup> | ||
</Project> |
4 changes: 4 additions & 0 deletions
4
src/Microsoft.Build.Tasks.Git/buildTransitive/Microsoft.Build.Tasks.Git.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<Import Project="..\build\$(MSBuildThisFileName).props"/> | ||
</Project> |
4 changes: 4 additions & 0 deletions
4
src/Microsoft.Build.Tasks.Git/buildTransitive/Microsoft.Build.Tasks.Git.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<Import Project="..\build\$(MSBuildThisFileName).targets"/> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 0 additions & 21 deletions
21
src/Microsoft.Build.Tasks.Tfvc/Microsoft.Build.Tasks.Tfvc.nuspec
This file was deleted.
Oops, something went wrong.
2 changes: 1 addition & 1 deletion
2
src/Microsoft.Build.Tasks.Tfvc/build/Microsoft.Build.Tasks.Tfvc.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<PropertyGroup> | ||
<MicrosoftBuildTasksTfvcAssemblyFile>$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.Build.Tasks.Tfvc.dll</MicrosoftBuildTasksTfvcAssemblyFile> | ||
<MicrosoftBuildTasksTfvcAssemblyFile>$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.Build.Tasks.Tfvc.dll</MicrosoftBuildTasksTfvcAssemblyFile> | ||
</PropertyGroup> | ||
</Project> |
4 changes: 4 additions & 0 deletions
4
src/Microsoft.Build.Tasks.Tfvc/buildTransitive/Microsoft.Build.Tasks.Tfvc.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<Import Project="..\build\$(MSBuildThisFileName).props"/> | ||
</Project> |
4 changes: 4 additions & 0 deletions
4
src/Microsoft.Build.Tasks.Tfvc/buildTransitive/Microsoft.Build.Tasks.Tfvc.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. --> | ||
<Project> | ||
<Import Project="..\build\$(MSBuildThisFileName).targets"/> | ||
</Project> |
2 changes: 1 addition & 1 deletion
2
...ureDevOpsServer.Git.UnitTests/Microsoft.SourceLink.AzureDevOpsServer.Git.UnitTests.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.