Skip to content

Commit 183bc2e

Browse files
committed
accept all msbuild variants
1 parent 8ece9bf commit 183bc2e

17 files changed

+26
-39
lines changed

src/Cli/dotnet/Commands/CommandFactory.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ internal static CommandBase CreateVirtualOrPhysicalCommand(
3232
CommonOptions.GetItemOption,
3333
CommonOptions.GetTargetResultOption,
3434
CommonOptions.GetResultOutputFileOption,
35-
CommonOptions.NoLogoOption()
3635
]);
3736
msbuildArgs = transformer?.Invoke(msbuildArgs) ?? msbuildArgs;
3837
return configureVirtualCommand(msbuildArgs, Path.GetFullPath(arg));

src/Cli/dotnet/Commands/Package/Add/PackageAddCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ private static void GetProjectDependencyGraph(string projectFilePath, string dgF
8989
$"-property:RestoreDotnetCliToolReferences=false",
9090

9191
// Output should not include MSBuild version header
92-
"-nologo",
92+
"--nologo",
9393

9494
// Set verbosity to quiet to avoid cluttering the output for this 'inner' build
9595
"-v:quiet"

src/Cli/dotnet/Commands/Restore/RestoringCommand.cs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,7 @@ private static MSBuildArgs GetCommandArguments(
7676
// we're running two separate build operations
7777
if (HasPropertyToExcludeFromRestore(msbuildArgs))
7878
{
79-
if (!msbuildArgs.OtherMSBuildArgs.Contains("-nologo"))
80-
{
81-
msbuildArgs.OtherMSBuildArgs.Add("-nologo");
82-
}
83-
return msbuildArgs;
79+
return msbuildArgs.CloneWithNoLogo(true);
8480
}
8581

8682
// otherwise we're going to run an inline restore. In this case, we need to make sure that the restore properties
@@ -187,26 +183,21 @@ private static (string[] newArgumentsToAdd, string[] existingArgumentsToForward)
187183
// Separate restore should be silent in terminal logger - regardless of actual scenario
188184
HashSet<string> newArgumentsToAdd = ["-tlp:verbosity=quiet"];
189185
List<string> existingArgumentsToForward = [];
190-
bool hasSetNologo = false;
186+
bool hasSetNologo = msbuildArgs.NoLogo;
187+
if (hasSetNologo)
188+
{
189+
newArgumentsToAdd.Add("--nologo");
190+
}
191191

192192
foreach (var argument in msbuildArgs.OtherMSBuildArgs ?? [])
193193
{
194194
if (!IsExcludedFromSeparateRestore(argument))
195195
{
196-
if (argument.Equals("-nologo", StringComparison.OrdinalIgnoreCase))
197-
{
198-
hasSetNologo = true;
199-
}
200196
existingArgumentsToForward.Add(argument);
201197
}
202198

203199
if (TriggersSilentSeparateRestore(argument))
204200
{
205-
if (!hasSetNologo)
206-
{
207-
newArgumentsToAdd.Add("-nologo");
208-
hasSetNologo = true;
209-
}
210201
newArgumentsToAdd.Add("--verbosity:quiet");
211202
}
212203
}

src/Cli/dotnet/Commands/Run/RunCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ private VirtualProjectBuildingCommand CreateVirtualCommand()
364364
/// <returns></returns>
365365
private MSBuildArgs SetupSilentBuildArgs(MSBuildArgs msbuildArgs)
366366
{
367-
msbuildArgs = msbuildArgs.CloneWithAdditionalArgs("-nologo");
367+
msbuildArgs = msbuildArgs.CloneWithNoLogo(true);
368368

369369
if (msbuildArgs.Verbosity is VerbosityOptions userVerbosity)
370370
{

src/Cli/dotnet/Commands/Store/StoreCommandParser.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ private static Command ConstructCommand()
8989
command.Options.Add(CommonOptions.VerbosityOption());
9090
command.Options.Add(CommonOptions.CurrentRuntimeOption(CliCommandStrings.CurrentRuntimeOptionDescription));
9191
command.Options.Add(CommonOptions.DisableBuildServersOption);
92+
command.Options.Add(CommonOptions.NoLogoOption(true));
9293

9394
command.SetAction(StoreCommand.Run);
9495

src/Cli/dotnet/Commands/Test/VSTest/TestCommand.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,7 @@ private static TestCommand FromParseResult(ParseResult result, string[] settings
204204

205205
VSTestTrace.SafeWriteTrace(() => $"MSBuild args from forwarded options: {string.Join(", ", parsedArgs)}");
206206

207-
var msbuildArgs = new List<string>(additionalBuildProperties)
208-
{
209-
"-nologo",
210-
};
211-
212-
msbuildArgs.AddRange(parsedArgs);
207+
List<string> msbuildArgs = [.. additionalBuildProperties, .. parsedArgs];
213208

214209
if (settings.Any())
215210
{
@@ -245,7 +240,8 @@ private static TestCommand FromParseResult(ParseResult result, string[] settings
245240
CommonOptions.RestorePropertiesOption,
246241
TestCommandParser.VsTestTargetOption,
247242
TestCommandParser.VerbosityOption,
248-
CommonOptions.NoLogoOption());
243+
CommonOptions.NoLogoOption())
244+
.CloneWithNoLogo(true);
249245

250246
TestCommand testCommand = new(
251247
parsedMSBuildArgs,

src/Cli/dotnet/Commands/Test/VSTest/VSTestArgumentConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ private static readonly ImmutableHashSet<string> s_switchArguments
7373
StringComparer.OrdinalIgnoreCase,
7474
// Arguments
7575
"--listtests",
76-
"--nologo",
76+
"---nologo",
7777

7878
// Ignored arguments
7979
"--no-build",

src/Cli/dotnet/CommonOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,9 +405,9 @@ private static IReadOnlyDictionary<string, string> ParseEnvironmentVariables(Arg
405405
/// </list>
406406
/// Finally, if neither the option nor the environment variable is set, the option will default to the provided <paramref name="defaultValue"/>.
407407
/// </summary>
408-
public static Option<bool> NoLogoOption(bool defaultValue = true, string forwardAs = "-nologo", string? description = null)
408+
public static Option<bool> NoLogoOption(bool defaultValue = true, string forwardAs = "--nologo", string? description = null)
409409
{
410-
return new ForwardedOption<bool>("--nologo")
410+
return new ForwardedOption<bool>("--nologo", "-nologo", "/nologo")
411411
{
412412
Description = description ?? Commands.CliCommandStrings.NoLogoOptionDescription,
413413
DefaultValueFactory = (ar) => Env.TryGetEnvironmentVariableAsBool("DOTNET_NOLOGO", out bool value) ? value : defaultValue,

test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetBuildInvocation.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
1111
[Collection(TestConstants.UsesStaticTelemetryState)]
1212
public class GivenDotnetBuildInvocation : IClassFixture<NullCurrentSessionIdFixture>
1313
{
14-
string[] ExpectedPrefix = ["-maxcpucount", "--verbosity:m", "-tlp:default=auto", "-nologo"];
14+
string[] ExpectedPrefix = ["-maxcpucount", "--verbosity:m", "-tlp:default=auto", "--nologo"];
1515
public static string[] RestoreExpectedPrefixForImplicitRestore = [.. RestoringCommand.RestoreOptimizationProperties.Select(kvp => $"--restoreProperty:{kvp.Key}={kvp.Value}")];
1616
public static string[] RestoreExpectedPrefixForSeparateRestore = [.. RestoringCommand.RestoreOptimizationProperties.Select(kvp => $"--property:{kvp.Key}={kvp.Value}")];
1717

@@ -92,7 +92,7 @@ public void NoRestoreMeansNoSeparateRestoreCommand()
9292
new string[] { "--target:Restore", "-tlp:verbosity=quiet", "--verbosity:diag", "--property:OutputPath=<cwd>myoutput", "--property:_CommandLineDefinedOutputPath=true", "/ArbitrarySwitchForMSBuild" },
9393
new string[] { "--property:TargetFramework=tfm", "--verbosity:diag", "--property:OutputPath=<cwd>myoutput", "--property:_CommandLineDefinedOutputPath=true", "/ArbitrarySwitchForMSBuild" })]
9494
[InlineData(new string[] { "-f", "tfm", "-getItem:Compile", "-getProperty:TargetFramework", "-getTargetResult:Build" },
95-
new string[] { "--target:Restore", "-tlp:verbosity=quiet", "-nologo", "--verbosity:quiet" },
95+
new string[] { "--target:Restore", "-tlp:verbosity=quiet", "--nologo", "--verbosity:quiet" },
9696
new string[] { "--property:TargetFramework=tfm", "--getItem:Compile", "--getProperty:TargetFramework", "--getTargetResult:Build" })]
9797
public void MsbuildInvocationIsCorrectForSeparateRestore(
9898
string[] args,

test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetCleanInvocation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
99
public class GivenDotnetCleanInvocation : IClassFixture<NullCurrentSessionIdFixture>
1010
{
1111
private const string NugetInteractiveProperty = "--property:NuGetInteractive=false";
12-
private static readonly string[] ExpectedPrefix = ["-maxcpucount", "--verbosity:m", "-tlp:default=auto", "-nologo", "--verbosity:normal", "--target:Clean", NugetInteractiveProperty];
12+
private static readonly string[] ExpectedPrefix = ["-maxcpucount", "--verbosity:m", "-tlp:default=auto", "--nologo", "--verbosity:normal", "--target:Clean", NugetInteractiveProperty];
1313

1414

1515
private static readonly string WorkingDirectory =

0 commit comments

Comments
 (0)