From efffc503c0d338b8f2852c2f67172bf635b92b4c Mon Sep 17 00:00:00 2001 From: Anh-Dung Phan Date: Sat, 31 Mar 2018 10:44:56 +0100 Subject: [PATCH 1/2] Implement MSBuild NoWarn command line option --- src/app/Fake.DotNet.MsBuild/MsBuild.fs | 15 +++++++++++---- src/legacy/FakeLib/MSBuildHelper.fs | 15 +++++++++++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/app/Fake.DotNet.MsBuild/MsBuild.fs b/src/app/Fake.DotNet.MsBuild/MsBuild.fs index b5e24080e19..a75e9722101 100644 --- a/src/app/Fake.DotNet.MsBuild/MsBuild.fs +++ b/src/app/Fake.DotNet.MsBuild/MsBuild.fs @@ -200,6 +200,7 @@ type MSBuildParams = Verbosity : MSBuildVerbosity option NoConsoleLogger : bool WarnAsError: string list option + NoWarn: string list option /// corresponds to the msbuild option '/fl' FileLoggers : MSBuildFileLoggerConfig list option /// corresponds to the msbuild option '/bl' @@ -219,6 +220,7 @@ type MSBuildParams = Verbosity = None NoConsoleLogger = false WarnAsError = None + NoWarn = None RestorePackagesFlag = false FileLoggers = None BinaryLoggers = None @@ -294,9 +296,9 @@ module MsBuild = /// [omit] - let internal getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError fileLoggers binaryLoggers distributedFileLoggers properties = - if Environment.isUnix then [ targets; tools; verbosity; noconsolelogger; warnAsError ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties - else [ targets; maxcpu; noLogo; nodeReuse; tools; verbosity; noconsolelogger; warnAsError ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties + let internal getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError nowarn fileLoggers binaryLoggers distributedFileLoggers properties = + if Environment.isUnix then [ targets; tools; verbosity; noconsolelogger; warnAsError; nowarn ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties + else [ targets; maxcpu; noLogo; nodeReuse; tools; verbosity; noconsolelogger; warnAsError; nowarn ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties let private serializeArgs args = args @@ -364,6 +366,11 @@ module MsBuild = | None -> None | Some w -> Some("warnaserror", w |> String.concat ";") + let nowarn = + match p.NoWarn with + | None -> None + | Some w -> Some("nowarn", w |> String.concat ";") + let fileLoggers = let serializeLogger fl = let logParams param = @@ -433,7 +440,7 @@ module MsBuild = dfls |> List.map(fun (cl, fl) -> Some("dl", createLoggerString cl fl)) - getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError fileLoggers binaryLoggers distributedFileLoggers properties + getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError nowarn fileLoggers binaryLoggers distributedFileLoggers properties |> serializeArgs #if !NO_MSBUILD_AVAILABLE diff --git a/src/legacy/FakeLib/MSBuildHelper.fs b/src/legacy/FakeLib/MSBuildHelper.fs index 9f8e658cb97..4a43ca399fc 100644 --- a/src/legacy/FakeLib/MSBuildHelper.fs +++ b/src/legacy/FakeLib/MSBuildHelper.fs @@ -254,6 +254,7 @@ type MSBuildParams = Verbosity : MSBuildVerbosity option NoConsoleLogger : bool WarnAsError: string list option + NoWarn: string list option /// corresponds to the msbuild option '/fl' FileLoggers : MSBuildFileLoggerConfig list option /// corresponds to the msbuild option '/bl' @@ -274,6 +275,7 @@ let mutable MSBuildDefaults = Verbosity = None NoConsoleLogger = false WarnAsError = None + NoWarn = None RestorePackagesFlag = false FileLoggers = None BinaryLoggers = None @@ -281,9 +283,9 @@ let mutable MSBuildDefaults = /// [omit] [] -let getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError fileLoggers binaryLoggers distributedFileLoggers properties = - if isUnix then [ targets; tools; verbosity; noconsolelogger; warnAsError ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties - else [ targets; maxcpu; noLogo; nodeReuse; tools; verbosity; noconsolelogger; warnAsError ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties +let getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError nowarn fileLoggers binaryLoggers distributedFileLoggers properties = + if isUnix then [ targets; tools; verbosity; noconsolelogger; warnAsError; nowarn ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties + else [ targets; maxcpu; noLogo; nodeReuse; tools; verbosity; noconsolelogger; warnAsError; nowarn ] @ fileLoggers @ binaryLoggers @ distributedFileLoggers @ properties let private serializeArgs args = args @@ -348,6 +350,11 @@ let serializeMSBuildParams (p : MSBuildParams) = | None -> None | Some w -> Some("warnaserror", w |> String.concat ";") + let nowarn = + match p.NoWarn with + | None -> None + | Some w -> Some("nowarn", w |> String.concat ";") + let fileLoggers = let serializeLogger fl = let logParams param = @@ -417,7 +424,7 @@ let serializeMSBuildParams (p : MSBuildParams) = dfls |> List.map(fun (cl, fl) -> Some("dl", createLoggerString cl fl)) - getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError fileLoggers binaryLoggers distributedFileLoggers properties + getAllParameters targets maxcpu noLogo nodeReuse tools verbosity noconsolelogger warnAsError nowarn fileLoggers binaryLoggers distributedFileLoggers properties |> serializeArgs /// [omit] From e102e858df18a73a8480d25acd466c4408d904b1 Mon Sep 17 00:00:00 2001 From: Anh-Dung Phan Date: Sun, 1 Apr 2018 11:31:34 +0100 Subject: [PATCH 2/2] Remove unintended changes --- .fake/build.fsx/intellisense.fsx | 60 ++++++++++++++++---------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/.fake/build.fsx/intellisense.fsx b/.fake/build.fsx/intellisense.fsx index 14292f20292..921b163653e 100644 --- a/.fake/build.fsx/intellisense.fsx +++ b/.fake/build.fsx/intellisense.fsx @@ -59,41 +59,41 @@ #r "C:\\Users\\matth\\.nuget\\packages\\system.runtime\\4.3.0\\lib\\net462\\System.Runtime.dll" #r "C:\\Users\\matth\\.nuget\\packages\\system.security.principal.windows\\4.4.1\\lib\\net461\\System.Security.Principal.Windows.dll" #r "C:\\Users\\matth\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.4.0\\lib\\net461\\System.Security.Cryptography.ProtectedData.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.xml\\5.0.0-beta028\\lib\\net46\\Fake.Core.Xml.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.semver\\5.0.0-beta028\\lib\\net46\\Fake.Core.SemVer.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.xml\\5.0.0-beta029\\lib\\net46\\Fake.Core.Xml.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.semver\\5.0.0-beta029\\lib\\net46\\Fake.Core.SemVer.dll" #r "C:\\Users\\matth\\.nuget\\packages\\paket.core\\5.153.0\\lib\\net45\\Paket.Core.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.api.github\\5.0.0-beta028\\lib\\net46\\Fake.Api.GitHub.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.context\\5.0.0-beta028\\lib\\net46\\Fake.Core.Context.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.environment\\5.0.0-beta028\\lib\\net46\\Fake.Core.Environment.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.string\\5.0.0-beta028\\lib\\net46\\Fake.Core.String.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.api.github\\5.0.0-beta029\\lib\\net46\\Fake.Api.GitHub.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.context\\5.0.0-beta029\\lib\\net46\\Fake.Core.Context.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.environment\\5.0.0-beta029\\lib\\net46\\Fake.Core.Environment.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.string\\5.0.0-beta029\\lib\\net46\\Fake.Core.String.dll" #r "C:\\Users\\matth\\.nuget\\packages\\system.reflection.metadata\\1.5.0\\lib\\netstandard2.0\\System.Reflection.Metadata.dll" #r "C:\\Users\\matth\\.nuget\\packages\\mono.cecil\\0.10.0\\lib\\net40\\Mono.Cecil.Rocks.dll" #r "C:\\Users\\matth\\.nuget\\packages\\mono.cecil\\0.10.0\\lib\\net40\\Mono.Cecil.Pdb.dll" #r "C:\\Users\\matth\\.nuget\\packages\\mono.cecil\\0.10.0\\lib\\net40\\Mono.Cecil.Mdb.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.releasenotes\\5.0.0-beta028\\lib\\net46\\Fake.Core.ReleaseNotes.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.io.filesystem\\5.0.0-beta028\\lib\\net46\\Fake.IO.FileSystem.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.trace\\5.0.0-beta028\\lib\\net46\\Fake.Core.Trace.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.teamfoundation\\5.0.0-beta028\\lib\\net46\\Fake.BuildServer.TeamFoundation.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.travis\\5.0.0-beta028\\lib\\net46\\Fake.BuildServer.Travis.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.tasks\\5.0.0-beta028\\lib\\net46\\Fake.Core.Tasks.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.testing.common\\5.0.0-beta028\\lib\\net46\\Fake.Testing.Common.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.process\\5.0.0-beta028\\lib\\net46\\Fake.Core.Process.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.assemblyinfofile\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.AssemblyInfoFile.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.io.zip\\5.0.0-beta028\\lib\\net46\\Fake.IO.Zip.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.target\\5.0.0-beta028\\lib\\net46\\Fake.Core.Target.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.net.http\\5.0.0-beta028\\lib\\net46\\Fake.Net.Http.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.appveyor\\5.0.0-beta028\\lib\\net46\\Fake.BuildServer.AppVeyor.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.teamcity\\5.0.0-beta028\\lib\\net46\\Fake.BuildServer.TeamCity.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.nuget\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.NuGet.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.mspec\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.Testing.MSpec.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.nunit\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.Testing.NUnit.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.xunit2\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.Testing.XUnit2.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.cli\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.Cli.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.fsformatting\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.FSFormatting.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.msbuild\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.MsBuild.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.paket\\5.0.0-beta028\\lib\\net46\\Fake.DotNet.Paket.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.tools.git\\5.0.0-beta028\\lib\\net46\\Fake.Tools.Git.dll" -#r "C:\\Users\\matth\\.nuget\\packages\\fake.windows.chocolatey\\5.0.0-beta028\\lib\\net46\\Fake.Windows.Chocolatey.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.releasenotes\\5.0.0-beta029\\lib\\net46\\Fake.Core.ReleaseNotes.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.io.filesystem\\5.0.0-beta029\\lib\\net46\\Fake.IO.FileSystem.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.trace\\5.0.0-beta029\\lib\\net46\\Fake.Core.Trace.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.teamfoundation\\5.0.0-beta029\\lib\\net46\\Fake.BuildServer.TeamFoundation.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.travis\\5.0.0-beta029\\lib\\net46\\Fake.BuildServer.Travis.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.tasks\\5.0.0-beta029\\lib\\net46\\Fake.Core.Tasks.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.testing.common\\5.0.0-beta029\\lib\\net46\\Fake.Testing.Common.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.process\\5.0.0-beta029\\lib\\net46\\Fake.Core.Process.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.assemblyinfofile\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.AssemblyInfoFile.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.io.zip\\5.0.0-beta029\\lib\\net46\\Fake.IO.Zip.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.core.target\\5.0.0-beta029\\lib\\net46\\Fake.Core.Target.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.net.http\\5.0.0-beta029\\lib\\net46\\Fake.Net.Http.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.appveyor\\5.0.0-beta029\\lib\\net46\\Fake.BuildServer.AppVeyor.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.buildserver.teamcity\\5.0.0-beta029\\lib\\net46\\Fake.BuildServer.TeamCity.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.nuget\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.NuGet.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.mspec\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.Testing.MSpec.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.nunit\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.Testing.NUnit.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.testing.xunit2\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.Testing.XUnit2.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.cli\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.Cli.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.fsformatting\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.FSFormatting.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.msbuild\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.MsBuild.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.dotnet.paket\\5.0.0-beta029\\lib\\net46\\Fake.DotNet.Paket.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.tools.git\\5.0.0-beta029\\lib\\net46\\Fake.Tools.Git.dll" +#r "C:\\Users\\matth\\.nuget\\packages\\fake.windows.chocolatey\\5.0.0-beta029\\lib\\net46\\Fake.Windows.Chocolatey.dll" #r "System" #r "System.Core" #r "System.Security"