diff --git a/build/scripts/CommandLine.fs b/build/scripts/CommandLine.fs index 4bf27b4..9529f0c 100644 --- a/build/scripts/CommandLine.fs +++ b/build/scripts/CommandLine.fs @@ -23,13 +23,16 @@ type Build = | [] Unit_Test | [] End_To_End + + | [] Format - | [] PristineCheck + | [] CheckFormat + | [] PristineCheck | [] GeneratePackages - | [] ValidateLicenses - | [] ValidatePackages - | [] GenerateReleaseNotes - | [] GenerateApiChanges + | [] ValidateLicenses + | [] ValidatePackages + | [] GenerateReleaseNotes + | [] GenerateApiChanges | [] Release | [] Single_Target @@ -49,12 +52,14 @@ with | End_To_End -> "alias to providing: test --test-suite=e2e" | Test -> "runs a clean build and then runs all the tests unless --test-suite is provided" | Release -> "runs build, tests, and create and validates the packages shy of publishing them" + | Format -> "runs dotnet format" // steps - | PristineCheck + | CheckFormat + | PristineCheck | GeneratePackages | ValidateLicenses - | ValidatePackages + | ValidatePackages | GenerateReleaseNotes | GenerateApiChanges -> "Undocumented, dependent target" diff --git a/build/scripts/Targets.fs b/build/scripts/Targets.fs index 15ef531..1f9387b 100644 --- a/build/scripts/Targets.fs +++ b/build/scripts/Targets.fs @@ -23,8 +23,6 @@ let private clean _ = let private build _ = exec { run "dotnet" "build" "-c" "release" } let private release _ = printfn "release" - -let private publish _ = printfn "publish" let private version _ = let version = Software.Version @@ -32,7 +30,14 @@ let private version _ = printfn $"Semantic version: %s{version.NormalizeToShorter()}" let private generatePackages _ = exec { run "dotnet" "pack" } - + +let private format _ = exec { run "dotnet" "format" "--verbosity" "quiet" } + +let private checkFormat _ = + match exec { exit_code_of "dotnet" "format" "--verify-no-changes" } with + | 0 -> printfn "There are no dotnet formatting violations, continuing the build." + | _ -> failwithf "There are dotnet formatting violations. Call `dotnet format` to fix or specify -c to ./build.sh to skip this check" + let private pristineCheck (arguments:ParseResults) = let skipCheck = arguments.TryGetResult Skip_Dirty_Check |> Option.isSome match skipCheck, Information.isCleanWorkingCopy "." with @@ -157,7 +162,7 @@ let Setup (parsed:ParseResults) = // commands | Version -> Build.Step version | Clean -> Build.Cmd [Version] [] clean - | Build -> Build.Cmd [Clean] [] build + | Build -> Build.Cmd [Clean; CheckFormat] [] build | End_To_End -> Build.Cmd [] [Build] <| runTests E2E | Unit_Test -> Build.Cmd [] [Build] <| runTests Unit @@ -168,9 +173,12 @@ let Setup (parsed:ParseResults) = [PristineCheck; Test] [ValidateLicenses; GeneratePackages; ValidatePackages; GenerateReleaseNotes; GenerateApiChanges] release - + + | Format -> Build.Step format + // steps - | PristineCheck -> Build.Step pristineCheck + | CheckFormat -> Build.Step checkFormat + | PristineCheck -> Build.Step pristineCheck | GeneratePackages -> Build.Step generatePackages | ValidateLicenses -> Build.Step validateLicenses | ValidatePackages -> Build.Step validatePackages diff --git a/src/Elastic.OpenTelemetry/Diagnostics/Logging/AgentLoggingHelpers.cs b/src/Elastic.OpenTelemetry/Diagnostics/Logging/AgentLoggingHelpers.cs index 376e5c3..ea42bd4 100644 --- a/src/Elastic.OpenTelemetry/Diagnostics/Logging/AgentLoggingHelpers.cs +++ b/src/Elastic.OpenTelemetry/Diagnostics/Logging/AgentLoggingHelpers.cs @@ -20,7 +20,7 @@ public static LogLevel GetElasticOtelLogLevelFromEnvironmentVariables() if (string.IsNullOrEmpty(logLevelEnvironmentVariable)) return defaultLogLevel; - + var parsedLogLevel = LogLevelHelpers.ToLogLevel(logLevelEnvironmentVariable); return parsedLogLevel != LogLevel.None ? parsedLogLevel : defaultLogLevel; } diff --git a/src/Elastic.OpenTelemetry/Diagnostics/LoggingEventListener.cs b/src/Elastic.OpenTelemetry/Diagnostics/LoggingEventListener.cs index 6dff1b8..d6a5a56 100644 --- a/src/Elastic.OpenTelemetry/Diagnostics/LoggingEventListener.cs +++ b/src/Elastic.OpenTelemetry/Diagnostics/LoggingEventListener.cs @@ -5,9 +5,9 @@ using System.Diagnostics.Tracing; using System.Text; using System.Text.RegularExpressions; +using Elastic.OpenTelemetry.Configuration; using Elastic.OpenTelemetry.Diagnostics.Logging; using Microsoft.Extensions.Logging; -using Elastic.OpenTelemetry.Configuration; namespace Elastic.OpenTelemetry.Diagnostics;