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

Commit 5946bcf

Browse files
committed
Simplify and update NuGetizer to leverage latest NuGetizer features itself
Let Content with copy be inferred by NuGetizer as part of the primary output, remove duplicated nuspec info from Shared.targets. Make sure the CopyFilesToOutputDirectory runs before GetPackageContents too now that we pull files from target path rather than source in that case.
1 parent b3defad commit 5946bcf

4 files changed

Lines changed: 43 additions & 86 deletions

File tree

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), NuGet.Build.Packaging.Shared.targets))\NuGet.Build.Packaging.Shared.targets" />
44

55
<PropertyGroup>
6-
<!-- We'll include the PackageFiles ourselves -->
7-
<IncludeOutputs>false</IncludeOutputs>
8-
96
<Authors>Microsoft</Authors>
107
<Owners>Microsoft</Owners>
118
<Copyright>&#169; .NET Foundation. All rights reserved.</Copyright>

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

Lines changed: 14 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
<OutputType>Exe</OutputType>
99
<TargetExt>.dll</TargetExt>
1010
<StartupObject>NuGet.Build.Packaging.Program</StartupObject>
11-
<PackOnBuild Condition="'$(PackOnBuild)' == '' And '$(Configuration)' == 'Release'">true</PackOnBuild>
12-
<PackageOutputPath Condition="'$(PackageOutputPath)' == ''">..\..\..\out</PackageOutputPath>
1311
</PropertyGroup>
1412
<ItemGroup>
1513
<Reference Include="System" />
@@ -30,48 +28,20 @@
3028
</ItemGroup>
3129
<ItemGroup>
3230
<Content Include="FodyWeavers.xml" />
33-
<Content Include="NuGet.Build.Packaging.props">
34-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
35-
</Content>
36-
<Content Include="NuGet.Build.Packaging.targets">
37-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
38-
</Content>
39-
<Content Include="NuGet.Build.Packaging.CrossTargeting.targets">
40-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
41-
</Content>
42-
<Content Include="MSBuild\Imports\Microsoft.Common.Props\ImportBefore\Microsoft.NuGet.Packaging.ImportBefore.props">
43-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
44-
</Content>
45-
<Content Include="MSBuild\Microsoft.Common.Targets\ImportAfter\Microsoft.NuGet.Packaging.ImportAfter.targets">
46-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
47-
</Content>
48-
<Content Include="NuGet.Build.Packaging.Authoring.targets">
49-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
50-
</Content>
51-
<Content Include="NuGet.Build.Packaging.Compatibility.props">
52-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
53-
</Content>
54-
<Content Include="NuGet.Build.Packaging.ReferenceAssembly.targets">
55-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
56-
</Content>
57-
<Content Include="NuGet.Build.Packaging.Legacy.targets">
58-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
59-
</Content>
60-
<Content Include="NuGet.Build.Packaging.Inference.targets">
61-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
62-
</Content>
63-
<Content Include="NuGet.Build.Packaging.Authoring.props">
64-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
65-
</Content>
66-
<Content Include="GenerateReferenceAssembly.csproj">
67-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
68-
</Content>
69-
<Content Include="NuGet.Build.Packaging.Legacy.props">
70-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
71-
</Content>
72-
<None Include="NuGet.Build.Packaging.Version.props">
73-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
74-
</None>
31+
<Content Include="NuGet.Build.Packaging.props" />
32+
<Content Include="NuGet.Build.Packaging.targets" />
33+
<Content Include="NuGet.Build.Packaging.CrossTargeting.targets" />
34+
<Content Include="MSBuild\Imports\Microsoft.Common.Props\ImportBefore\Microsoft.NuGet.Packaging.ImportBefore.props" />
35+
<Content Include="MSBuild\Microsoft.Common.Targets\ImportAfter\Microsoft.NuGet.Packaging.ImportAfter.targets" />
36+
<Content Include="NuGet.Build.Packaging.Authoring.targets" />
37+
<Content Include="NuGet.Build.Packaging.Compatibility.props" />
38+
<Content Include="NuGet.Build.Packaging.ReferenceAssembly.targets" />
39+
<Content Include="NuGet.Build.Packaging.Legacy.targets" />
40+
<Content Include="NuGet.Build.Packaging.Inference.targets" />
41+
<Content Include="NuGet.Build.Packaging.Authoring.props" />
42+
<Content Include="GenerateReferenceAssembly.csproj" />
43+
<Content Include="NuGet.Build.Packaging.Legacy.props" />
44+
<Content Include="NuGet.Build.Packaging.Version.props" />
7545
<None Include="NuGet.Build.Packaging.Tasks.targets" />
7646
</ItemGroup>
7747
<ItemGroup>

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

Lines changed: 28 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,29 @@
33
<ItemGroup>
44
<ThisAssemblyProjectProperty Include="PackageId" />
55
</ItemGroup>
6-
6+
7+
<ItemDefinitionGroup>
8+
<Content>
9+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
10+
<Pack>true</Pack>
11+
</Content>
12+
</ItemDefinitionGroup>
13+
714
<PropertyGroup>
815
<PackageId>NuGet.Build.Packaging</PackageId>
9-
<Authors>Microsoft</Authors>
10-
<Owners>Microsoft</Owners>
11-
<Copyright>&#169; .NET Foundation. All rights reserved.</Copyright>
1216
<Title>NuGetizer-3000</Title>
1317
<Description>NuGet Packaging Targets</Description>
14-
<NeutralLanguage>en</NeutralLanguage>
1518
<IsDevelopmentDependency>true</IsDevelopmentDependency>
16-
<PackageLicenseUrl>https://raw.githubusercontent.com/NuGet/NuGet.Build.Packaging/dev/LICENSE.txt</PackageLicenseUrl>
17-
<PackageProjectUrl>https://github.com/NuGet/NuGet.Build.Packaging</PackageProjectUrl>
19+
<PrimaryOutputKind>build</PrimaryOutputKind>
1820

19-
<InferLegacyPackageReferences>false</InferLegacyPackageReferences>
20-
<IncludeContentInPackage>false</IncludeContentInPackage>
21-
<IncludeOutputsInPackage>false</IncludeOutputsInPackage>
22-
<IncludeSymbolsInPackage>false</IncludeSymbolsInPackage>
23-
<IncludeFrameworkReferencesInPackage>false</IncludeFrameworkReferencesInPackage>
21+
<PackOnBuild Condition="'$(PackOnBuild)' == '' And '$(Configuration)' == 'Release'">true</PackOnBuild>
22+
<PackageOutputPath Condition="'$(PackageOutputPath)' == ''">..\..\..\out</PackageOutputPath>
2423
</PropertyGroup>
2524

26-
<Import Project="$(OutputPath)NuGet.Build.Packaging.targets"
27-
Condition="'$(PackOnBuild)' == 'true' and Exists('$(OutputPath)NuGet.Build.Packaging.targets')" />
28-
25+
<Import Project="$(OutputPath)NuGet.Build.Packaging.targets"
26+
Condition="'$(PackOnBuild)' == 'true' and Exists('$(OutputPath)NuGet.Build.Packaging.targets')" />
27+
2928
<Target Name="AddBuiltOutput" BeforeTargets="GetPackageContents" DependsOnTargets="AllProjectOutputGroups" Returns="@(PackageFile)">
30-
<!-- Update packaging version targets -->
31-
<PropertyGroup>
32-
<XmlNs>&lt;Namespace Prefix='msb' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/&gt;</XmlNs>
33-
</PropertyGroup>
34-
<XmlPoke Namespaces="$(XmlNs)"
35-
XmlInputPath="$(OutputPath)NuGet.Build.Packaging.Version.props"
36-
Query="/msb:Project/msb:PropertyGroup/msb:PackagingTargetsVersion"
37-
Value="$(PackageVersion)"/>
38-
3929
<ItemGroup>
4030
<PackageFile Include="$(OutputPath)ApiIntersect.exe">
4131
<PackagePath>build\ApiIntersect.exe</PackagePath>
@@ -58,21 +48,20 @@
5848
<PackageFile Include="$(OutputPath)Mono.Options.dll">
5949
<PackagePath>build\Mono.Options.dll</PackagePath>
6050
</PackageFile>
61-
<PackageFile Include="$(OutputPath)NuGet.Build.Packaging.Version.props">
62-
<PackagePath>build\NuGet.Build.Packaging.Version.props</PackagePath>
63-
</PackageFile>
64-
<PackageFile Include="@(ContentWithTargetPath)">
65-
<PackagePath>build\%(ContentWithTargetPath.TargetPath)</PackagePath>
66-
</PackageFile>
67-
<PackageFile Include="@(BuiltProjectOutputGroupOutput -> '%(FinalOutputPath)')">
68-
<PackagePath>build\%(Filename)%(Extension)</PackagePath>
69-
</PackageFile>
70-
<PackageFile Include="@(DebugSymbolsProjectOutputGroupOutput -> '%(FinalOutputPath)')">
71-
<PackagePath>build\%(Filename)%(Extension)</PackagePath>
72-
</PackageFile>
7351
</ItemGroup>
7452
</Target>
7553

54+
<Target Name="UpdatePackagingVersion" BeforeTargets="Pack">
55+
<!-- Update packaging version targets -->
56+
<PropertyGroup>
57+
<XmlNs>&lt;Namespace Prefix='msb' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/&gt;</XmlNs>
58+
</PropertyGroup>
59+
<XmlPoke Namespaces="$(XmlNs)"
60+
XmlInputPath="$(OutputPath)NuGet.Build.Packaging.Version.props"
61+
Query="/msb:Project/msb:PropertyGroup/msb:PackagingTargetsVersion"
62+
Value="$(PackageVersion)"/>
63+
</Target>
64+
7665
<PropertyGroup>
7766
<CoreCompileDependsOn>
7867
PackageItemKind;
@@ -89,8 +78,8 @@
8978

9079
<Target Name="GeneratePackageItemKind" Inputs="$(MSBuildThisFileFullPath);NuGet.Build.Packaging.props" Outputs="$(PackageItemKindFile)">
9180
<MakeDir Directories="$(IntermediateOutputPath)" Condition=" !Exists('$(IntermediateOutputPath)') " />
92-
<MSBuild Projects="NuGet.Build.Packaging.props" Targets="_GetPackageItemKinds">
93-
<Output ItemName="_PackageItemKind" TaskParameter="TargetOutputs" />
81+
<MSBuild Projects="NuGet.Build.Packaging.props" Targets="_GetPackageItemKinds">
82+
<Output ItemName="_PackageItemKind" TaskParameter="TargetOutputs" />
9483
</MSBuild>
9584

9685
<WriteLinesToFile Lines='
@@ -115,5 +104,5 @@ namespace $(RootNamespace)
115104
<FileWrites Include="$(PackageItemKindFile)" />
116105
</ItemGroup>
117106
</Target>
118-
107+
119108
</Project>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ Copyright (c) .NET Foundation. All rights reserved.
184184
<PropertyGroup>
185185
<GetPackageContentsDependsOn>
186186
$(GetPackageContentsDependsOn);
187+
CopyFilesToOutputDirectory;
187188
GetPackageTargetPath
188189
</GetPackageContentsDependsOn>
189190
<GetPackageContentsDependsOn Condition="'$(IncludeProjectReferencesInPackage)' == 'true'">

0 commit comments

Comments
 (0)