Skip to content

Commit 2f0d0ca

Browse files
committed
Automatically infer PackAsTool when ToolCommandName is used
1 parent 04a6a78 commit 2f0d0ca

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/NuGetizer.Tasks/NuGetizer.Inference.targets

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ Copyright (c) .NET Foundation. All rights reserved.
1414
<UsingTask TaskName="NuGetizer.Tasks.EvaluateWildcards" AssemblyFile="NuGetizer.Tasks.dll" />
1515

1616
<PropertyGroup>
17+
<!-- When ToolCommandName is set, infer that packaging should default to PackAsTool -->
18+
<PackAsTool Condition="'$(PackAsTool)' == '' and '$(ToolCommandName)' != ''">true</PackAsTool>
19+
1720
<!-- The PackFolder of primary output (build, symbols, doc and satellite assemblies) set if PackBuildOutput = true -->
1821
<PackFolder Condition="'$(PackFolder)' == ''">lib</PackFolder>
1922

src/NuGetizer.Tests/given_a_tool_project.cs

+27
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,33 @@ public void when_pack_as_tool_then_packs_no_dependencies()
3737
}));
3838
}
3939

40+
[Fact]
41+
public void when_toolcommand_then_packs_as_tool_with_no_dependencies()
42+
{
43+
var result = Builder.BuildProject(@"
44+
<Project Sdk='Microsoft.Build.NoTargets/3.7.0'>
45+
<PropertyGroup>
46+
<PackageId>MyTool</PackageId>
47+
<TargetFramework>net8.0</TargetFramework>
48+
<ToolCommandName>mycommand</ToolCommandName>
49+
</PropertyGroup>
50+
<ItemGroup>
51+
<PackageReference Include='Microsoft.Extensions.DependencyModel' Version='8.0.0' />
52+
</ItemGroup>
53+
</Project>",
54+
"GetPackageContents", output);
55+
56+
result.AssertSuccess(output);
57+
Assert.DoesNotContain(result.Items, item => item.Matches(new
58+
{
59+
Identity = "Microsoft.Extensions.DependencyModel"
60+
}));
61+
Assert.Contains(result.Items, item => item.Matches(new
62+
{
63+
PackageFile = "Microsoft.Extensions.DependencyModel.dll"
64+
}));
65+
}
66+
4067
[Fact]
4168
public void when_pack_as_tool_then_packs_dotnet_tool_runtime_assets()
4269
{

0 commit comments

Comments
 (0)