Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Commit 99bdb59

Browse files
authored
Merge pull request #127 from kzu/dev
Packaging None/Content files improvements
2 parents 265824e + 059aa39 commit 99bdb59

27 files changed

Lines changed: 415 additions & 75 deletions

build.proj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,7 @@
135135
<GitInfoTargets>$(PackagesPath)\GitInfo\build\GitInfo.targets</GitInfoTargets>
136136
<XunitConsole>$(PackagesPath)\xunit.runner.console\tools\xunit.console.x86.exe</XunitConsole>
137137
<XunitBuildDir>$([System.IO.Path]::Combine('$(MSBuildThisFileDirectory)', '.nuget', 'packages', 'xunit.runner.msbuild', 'build'))</XunitBuildDir>
138-
<XunitPlatformDir Condition=" Exists('$(XunitBuildDir)') ">$([System.IO.Directory]::GetDirectories($(XunitBuildDir))[0])</XunitPlatformDir>
139-
<!-- This file is used to detect whether the restore has been performed or not -->
140-
<XunitProps>$([System.IO.Path]::Combine($(XunitPlatformDir), 'xunit.runner.msbuild.props'))</XunitProps>
138+
<XunitProps>$([System.IO.Path]::Combine($(XunitBuildDir), 'xunit.runner.msbuild.props'))</XunitProps>
141139
<PendingRestore Condition=" !Exists('$(GitInfoTargets)') Or !Exists('$(XunitConsole)') Or !Exists('$(XunitProps)') ">true</PendingRestore>
142140
</PropertyGroup>
143141
<Import Project="$(XunitProps)" Condition="Exists('$(XunitProps)')"/>

src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Authoring.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,7 @@ Copyright (c) .NET Foundation. All rights reserved.
2222

2323
<!-- Packaging project doesn't need resolved nuget package dependencies -->
2424
<ResolveNuGetPackages>false</ResolveNuGetPackages>
25+
26+
<PrimaryOutputFrameworkSpecific>false</PrimaryOutputFrameworkSpecific>
2527
</PropertyGroup>
2628
</Project>

src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
<ItemGroup>
1919
<PackageReference Include="Costura.Fody" Version="1.3.3" PrivateAssets="all" />
2020
<PackageReference Include="Fody" Version="1.29.4" PrivateAssets="all" />
21-
<PackageReference Include="GitInfo" Version="1.*" PrivateAssets="all" />
22-
<PackageReference Include="netfx-System.StringResources" Version="*" PrivateAssets="all" />
21+
<PackageReference Include="GitInfo" Version="1.1.61" PrivateAssets="all" />
22+
<PackageReference Include="netfx-System.StringResources" Version="3.0.14" PrivateAssets="all" />
2323
<PackageReference Include="Microsoft.Build" Version="14.3.0" PrivateAssets="all" />
2424
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="14.3.0" PrivateAssets="all" />
2525
<PackageReference Include="MSBuilder.ThisAssembly.Project" Version="0.3.3" PrivateAssets="all" />
@@ -32,6 +32,7 @@
3232
<Content Include="FodyWeavers.xml" />
3333
<Content Include="NuGet.Build.Packaging.props">
3434
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
35+
<SubType>Designer</SubType>
3536
</Content>
3637
<Content Include="NuGet.Build.Packaging.targets">
3738
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.targets

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ Copyright (c) .NET Foundation. All rights reserved.
3030

3131
<!-- Infer PackageRererence elements from packages.config/project.json files in the project -->
3232
<InferLegacyPackageReferences Condition="'$(InferLegacyPackageReferences)' == ''">true</InferLegacyPackageReferences>
33-
<!-- Whether to include @(Content) items with CopyToOutputDirectory != 'None' in the package -->
33+
<!-- Whether to include @(Content) items with CopyToOutputDirectory != '' in the package -->
3434
<IncludeContentInPackage Condition="'$(IncludeContentInPackage)' == ''">true</IncludeContentInPackage>
35-
<!-- Whether to include @(None) items with CopyToOutputDirectory != 'None' in the package -->
35+
<!-- Whether to include @(None) items with CopyToOutputDirectory != '' in the package -->
3636
<IncludeNoneInPackage Condition="'$(IncludeNoneInPackage)' == ''">true</IncludeNoneInPackage>
3737
<!-- Whether to include @(BuiltProjectOutputGroupOutput), @(DocumentationProjectOutputGroupOutput) and @(SatelliteDllsProjectOutputGroupOutput) items in the package -->
3838
<IncludeOutputsInPackage Condition="'$(IncludeOutputsInPackage)' == ''">true</IncludeOutputsInPackage>
@@ -289,16 +289,24 @@ Copyright (c) .NET Foundation. All rights reserved.
289289
<!-- NOTE: Content is opt-out (must have IncludeInPackage=false to exclude if IncludeContentInPackage=true) -->
290290
<!-- @ContentFilesProjectOutputGroupOutput = @(ContentWithTargetPath -> '%(FullPath)') -->
291291
<PackageFile Include="@(ContentWithTargetPath->'%(FullPath)')"
292-
Condition="'%(ContentWithTargetPath.IncludeInPackage)' == 'true' or ('$(IncludeContentInPackage)' == 'true' and '%(ContentWithTargetPath.IncludeInPackage)' != 'false')">
293-
<Kind>Content</Kind>
292+
Condition="
293+
'%(ContentWithTargetPath.IncludeInPackage)' == 'true' or
294+
'%(ContentWithTargetPath.Kind)' != '' or
295+
('$(IncludeContentInPackage)' == 'true' and '%(ContentWithTargetPath.IncludeInPackage)' != 'false')">
296+
<Kind Condition="'%(ContentWithTargetPath.Kind)' == '' and '%(ContentWithTargetPath.CopyToOutputDirectory)' != ''">$(PrimaryOutputPackageFileKind)</Kind>
297+
<Kind Condition="'%(ContentWithTargetPath.Kind)' == '' and '%(ContentWithTargetPath.CopyToOutputDirectory)' == ''">Content</Kind>
294298
</PackageFile>
295299

296-
<!-- NOTE: None is also opt-out (must have IncludeInPackage=false to exclude if IncludeNoneInPackage=true) -->
300+
<!-- NOTE: None is also opt-out (must have IncludeInPackage=false to exclude if IncludeNoneInPackage=true, but only for those with CopyToOutput) -->
297301
<PackageFile Include="@(_NoneWithTargetPath->'%(FullPath)')"
298-
Condition="'%(_NoneWithTargetPath.IncludeInPackage)' == 'true' or ('$(IncludeNoneInPackage)' == 'true' and '%(_NoneWithTargetPath.IncludeInPackage)' != 'false')">
299-
<Kind>None</Kind>
302+
Condition="
303+
'%(_NoneWithTargetPath.IncludeInPackage)' == 'true' or
304+
'%(_NoneWithTargetPath.Kind)' != '' or
305+
('$(IncludeNoneInPackage)' == 'true' and '%(_NoneWithTargetPath.CopyToOutputDirectory)' != '' and '%(_NoneWithTargetPath.IncludeInPackage)' != 'false')">
306+
<Kind Condition="'%(_NoneWithTargetPath.Kind)' == '' and '%(_NoneWithTargetPath.CopyToOutputDirectory)' != ''">$(PrimaryOutputPackageFileKind)</Kind>
300307
</PackageFile>
301308

309+
302310
<PackageFile Include="@(PackageReference)" Condition="'%(Identity)' != 'NuGet.Build.Packaging'">
303311
<Kind>Dependency</Kind>
304312
</PackageFile>

src/Build/NuGet.Build.Packaging.Tests/NuGet.Build.Packaging.Tests.csproj

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<Reference Include="System.Xml.Linq" />
1616
</ItemGroup>
1717
<ItemGroup>
18-
<PackageReference Include="GitInfo" Version="1.*" />
18+
<PackageReference Include="GitInfo" Version="1.1.61" />
1919
<PackageReference Include="Microsoft.Build" Version="14.3.0" />
2020
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="14.3.0" />
2121
<PackageReference Include="Newtonsoft.Json" Version="6.0.8" />
@@ -31,6 +31,21 @@
3131
<ItemGroup>
3232
<None Include="NuGet.Build.Packaging.Tests.targets" />
3333
<Content Include="Scenarios\given_a_custom_build_project\Readme.txt" />
34+
<Content Include="Scenarios\given_a_library_with_content\content-copy.txt" />
35+
<Content Include="Scenarios\given_a_library_with_content\content-copy-with-include-false.txt" />
36+
<Content Include="Scenarios\given_a_library_with_content\content-copy-with-include-true.txt" />
37+
<Content Include="Scenarios\given_a_library_with_content\content-copy-with-kind.txt" />
38+
<Content Include="Scenarios\given_a_library_with_content\content-with-kind.txt" />
39+
<Content Include="Scenarios\given_a_library_with_content\content.txt" />
40+
<Content Include="Scenarios\given_a_library_with_content\none-copy.txt" />
41+
<Content Include="Scenarios\given_a_library_with_content\none-copy-with-include-false.txt" />
42+
<Content Include="Scenarios\given_a_library_with_content\none-copy-with-include-true.txt" />
43+
<Content Include="Scenarios\given_a_library_with_content\none-copy-with-kind.txt" />
44+
<Content Include="Scenarios\given_a_library_with_content\none-with-kind.txt" />
45+
<Content Include="Scenarios\given_a_library_with_content\relative\content-copy-with-kind.txt" />
46+
<Content Include="Scenarios\given_a_library_with_content\relative\content-copy.txt" />
47+
<Content Include="Scenarios\given_a_library_with_content\relative\none-copy-with-kind.txt" />
48+
<Content Include="Scenarios\given_a_library_with_content\relative\none-copy.txt" />
3449
<Content Include="Scenarios\given_duplicate_package_files\a.csproj" />
3550
<Content Include="Scenarios\given_duplicate_package_files\b.csproj" />
3651
<Content Include="Scenarios\given_duplicate_package_files\content\content.txt" />

src/Build/NuGet.Build.Packaging.Tests/Scenarios/Scenario.targets

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,15 @@
1414
<Compile Include="$(MSBuildThisFileDirectory)_._" />
1515
</ItemGroup>
1616

17-
<Target Name="Dump" DependsOnTargets="GetPackageContents">
18-
<Message Importance="high" Text="%(_PackageContent.Filename)%(_PackageContent.Extension)
19-
FullPath=%(_PackageContent.FullPath)
17+
<Target Name="Report" DependsOnTargets="GetPackageContents">
18+
<Message Importance="high" Text="%(_PackageContent.RelativeDir)%(_PackageContent.Filename)%(_PackageContent.Extension)
2019
Kind=%(_PackageContent.Kind)
21-
PackageId=%(_PackageContent.PackageId)
2220
PackagePath=%(_PackageContent.PackagePath)
23-
TargetPath=%(_PackageContent.TargetPath)
24-
OriginalTargetFramework=%(_PackageContent.OriginalTargetFramework)
25-
OriginalTargetFrameworkMoniker=%(_PackageContent.OriginalTargetFrameworkMoniker)
26-
TargetFramework=%(_PackageContent.TargetFramework)
27-
TargetFrameworkMoniker=%(_PackageContent.TargetFrameworkMoniker)"/>
21+
TargetPath=%(_PackageContent.TargetPath)"/>
22+
</Target>
2823

24+
<Target Name="Dump" DependsOnTargets="GetPackageContents">
2925
<DumpItems Items="@(_PackageContent)" ItemName="_PackageContent" />
30-
31-
<!--
32-
OriginalTargetFramework=%(_PackageContent.OriginalTargetFramework)
33-
OriginalTargetFrameworkMoniker=%(_PackageContent.OriginalTargetFrameworkMoniker)
34-
-->
35-
<!--<DumpItems Items="@(_ReferencedProjectDocumentationDependency)" ItemName="_ReferencedProjectDocumentationDependency" Condition="'%(Extension)' == '.xml'" />-->
3626
</Target>
3727

3828
<PropertyGroup>

src/Build/NuGet.Build.Packaging.Tests/Scenarios/given_a_library_with_content/content-copy-with-include-false.txt

Whitespace-only changes.

src/Build/NuGet.Build.Packaging.Tests/Scenarios/given_a_library_with_content/content-copy-with-include-true.txt

Whitespace-only changes.

src/Build/NuGet.Build.Packaging.Tests/Scenarios/given_a_library_with_content/content-copy-with-kind.txt

Whitespace-only changes.

src/Build/NuGet.Build.Packaging.Tests/Scenarios/given_a_library_with_content/content-copy.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)