diff --git a/src/Refitter.Core/RefitterSettingsLoader.cs b/src/Refitter.Core/RefitterSettingsLoader.cs index 4dfcc8ddc..f84c8e806 100644 --- a/src/Refitter.Core/RefitterSettingsLoader.cs +++ b/src/Refitter.Core/RefitterSettingsLoader.cs @@ -25,6 +25,10 @@ public static class RefitterSettingsLoader public static RefitGeneratorSettings Load(string json, string baseDirectory) { var settings = Serializer.Deserialize(json); + if (settings is null) + { + throw new System.Text.Json.JsonException("Failed to deserialize settings: result was null"); + } ResolveRelativeSpecPaths(settings, baseDirectory); return settings; } @@ -49,6 +53,8 @@ public static void ResolveRelativeSpecPaths(RefitGeneratorSettings settings, str for (var i = 0; i < settings.OpenApiPaths.Length; i++) { var path = settings.OpenApiPaths[i]; + if (string.IsNullOrWhiteSpace(path)) + continue; if (!IsUrl(path) && !Path.IsPathRooted(path)) { settings.OpenApiPaths[i] = Path.GetFullPath(Path.Combine(baseDirectory, path)); diff --git a/src/Refitter/GenerateCommand.cs b/src/Refitter/GenerateCommand.cs index 992acef99..1e0f3215e 100644 --- a/src/Refitter/GenerateCommand.cs +++ b/src/Refitter/GenerateCommand.cs @@ -77,14 +77,15 @@ protected override async Task ExecuteAsync(CommandContext context, Settings version += " (local build)"; // Header with branding - _reporter.ReportHeader(version); + if (!settings.NoBanner) + _reporter.ReportHeader(version); // Support information - var supportKey = settings.NoLogging - ? "Unavailable when logging is disabled" - : SupportInformation.GetSupportKey(); - - _reporter.ReportSupportKey(supportKey); + if (!settings.NoLogging) + { + var supportKey = SupportInformation.GetSupportKey(); + _reporter.ReportSupportKey(supportKey); + } if (context.Arguments.Any(a => a.Equals("--version", StringComparison.OrdinalIgnoreCase)) || context.Arguments.Any(a => a.Equals("-v", StringComparison.OrdinalIgnoreCase)))