From e7bac5c6f56ae4963486c9849a8d7f60662d4c19 Mon Sep 17 00:00:00 2001 From: Martijn Laarman Date: Thu, 21 Aug 2025 19:53:11 +0200 Subject: [PATCH] Address a bunch of code-analysis quick fixes --- aspire/AppHost.cs | 2 +- src/Elastic.ApiExplorer/Endpoints/IndexViewModel.cs | 3 --- .../Assembler/AssemblyConfiguration.cs | 12 ++++-------- .../Assembler/Repository.cs | 1 - .../ConfigurationFileProvider.cs | 1 - .../Serialization/YamlStaticContext.cs | 1 - .../Versions/VersionsConfigurationExtensions.cs | 1 - .../Extensions.cs | 5 ++--- src/Elastic.Documentation.Site/Htmx.cs | 3 --- .../Layout/_SecondaryNav.cshtml | 1 - src/Elastic.Documentation/AppliesTo/ApplicableTo.cs | 1 - .../Search/DocumentationDocument.cs | 1 - .../Serialization/SourceGenerationContext.cs | 1 - src/Elastic.Markdown/DocumentationGenerator.cs | 3 --- .../Exporters/LlmMarkdownExporter.cs | 1 - src/Elastic.Markdown/Helpers/Interpolation.cs | 6 +----- src/Elastic.Markdown/HtmlWriter.cs | 3 --- src/Elastic.Markdown/IO/DocumentationFile.cs | 1 - src/Elastic.Markdown/IO/MarkdownFile.cs | 4 ---- .../IO/Navigation/TableOfContentsTreeCollector.cs | 1 - .../Myst/CodeBlocks/EnhancedCodeBlockParser.cs | 2 -- .../Myst/Components/ApplicableToComponent.cshtml | 1 - .../Myst/Components/ApplicableToViewModel.cs | 1 - .../Myst/Directives/AppliesTo/AppliesToDirective.cs | 1 - .../Myst/Directives/CsvInclude/CsvIncludeBlock.cs | 2 -- .../Myst/Directives/CsvInclude/CsvReader.cs | 2 -- .../Myst/Directives/Diagram/DiagramEncoder.cs | 2 -- .../Myst/Directives/Image/ImageCarouselBlock.cs | 6 ------ .../Myst/Directives/Image/ImageCarouselViewModel.cs | 4 ---- .../Myst/Directives/Stepper/StepViewModel.cs | 5 +---- .../Myst/FrontMatter/FrontMatterParser.cs | 1 - .../Substitution/SubstitutionMutationHelper.cs | 6 ------ .../InlineParsers/Substitution/SubstitutionParser.cs | 4 ---- .../SubstitutionInlineCodeParser.cs | 9 --------- src/Elastic.Markdown/Myst/MarkdownParser.cs | 2 -- .../Myst/Renderers/HtmxLinkInlineRenderer.cs | 4 +--- .../Myst/Renderers/LlmMarkdown/LlmBlockRenderers.cs | 2 -- .../Myst/Roles/AppliesTo/AppliesToRole.cs | 1 - .../Myst/Roles/Icons/IconRoleRenderer.cs | 1 - src/Elastic.Markdown/Myst/Roles/Kbd/KbdParser.cs | 2 -- src/Elastic.Markdown/Page/IndexViewModel.cs | 1 - .../Search/SearchUsecase.cs | 2 -- .../CompositeDisposableServiceProvider.cs | 2 +- .../Exporters/ElasticsearchMarkdownExporter.cs | 2 -- .../Filters/CatchExceptionFilter.cs | 2 +- src/tooling/docs-assembler/AssembleContext.cs | 2 -- src/tooling/docs-assembler/AssembleSources.cs | 10 +++------- .../docs-assembler/Building/AssemblerBuilder.cs | 1 - src/tooling/docs-assembler/Cli/DeployCommands.cs | 1 - .../docs-assembler/Cli/InboundLinkCommands.cs | 1 - src/tooling/docs-assembler/Cli/LegacyDocsCommands.cs | 3 ++- src/tooling/docs-assembler/Cli/NavigationCommands.cs | 1 - src/tooling/docs-assembler/Cli/RepositoryCommands.cs | 1 + .../Deploying/AwsCloudFrontKeyValueStoreProxy.cs | 10 ++++++---- .../docs-assembler/Legacy/PageLegacyUrlMapper.cs | 1 - .../docs-assembler/Links/NavigationPrefixChecker.cs | 2 +- .../Navigation/AssemblerDocumentationSet.cs | 1 - .../Navigation/GlobalNavigationFile.cs | 1 - .../Sourcing/RepositorySourcesFetcher.cs | 2 +- src/tooling/docs-builder/Cli/Commands.cs | 5 ----- src/tooling/docs-builder/Cli/DiffCommands.cs | 7 +++---- src/tooling/docs-builder/Cli/InboundLinkCommands.cs | 2 -- .../docs-builder/Http/DocumentationWebHost.cs | 9 --------- src/tooling/docs-builder/Http/GcpIdTokenGenerator.cs | 2 -- .../docs-builder/Http/ReloadGeneratorService.cs | 1 + .../docs-builder/Http/ReloadableGeneratorState.cs | 1 - src/tooling/docs-builder/Program.cs | 3 --- .../AssembleFixture.cs | 6 ++---- tests/Elastic.ApiExplorer.Tests/ReaderTests.cs | 1 - .../LegacyPageLookupTests.cs | 1 - .../Directives/AdmonitionTests.cs | 2 +- .../Directives/DirectiveBaseTests.cs | 2 -- .../Directives/ImageCarouselTests.cs | 1 - .../Elastic.Markdown.Tests/Directives/ImageTests.cs | 1 - tests/Elastic.Markdown.Tests/Directives/TabTests.cs | 2 +- .../Directives/VersionTests.cs | 1 - .../DocSet/NavigationTestsBase.cs | 1 - .../FileInclusion/IncludeTests.cs | 1 - .../FileInclusion/LiteralIncludeTests.cs | 1 - .../Elastic.Markdown.Tests/Inline/HardBreakTests.cs | 2 -- .../Elastic.Markdown.Tests/Inline/InlneBaseTests.cs | 2 -- tests/Elastic.Markdown.Tests/OutputDirectoryTests.cs | 2 -- tests/Elastic.Markdown.Tests/PrettyHtmlExtensions.cs | 1 + .../SettingsInclusion/IncludeTests.cs | 1 - .../docs-assembler.Tests/GlobalNavigationTests.cs | 3 --- 85 files changed, 35 insertions(+), 182 deletions(-) diff --git a/aspire/AppHost.cs b/aspire/AppHost.cs index e99f405dd..e39f678c2 100644 --- a/aspire/AppHost.cs +++ b/aspire/AppHost.cs @@ -5,7 +5,6 @@ using ConsoleAppFramework; using Elastic.Documentation; -using Elastic.Documentation.Configuration; using Microsoft.Extensions.Logging; using static Elastic.Documentation.Aspire.ResourceNames; @@ -29,6 +28,7 @@ return; // ReSharper disable once RedundantLambdaParameterType +// ReSharper disable once VariableHidesOuterVariable async Task BuildAspireHost(bool startElasticsearch, bool assumeCloned, bool skipPrivateRepositories, Cancel ctx) { var builder = DistributedApplication.CreateBuilder(args); diff --git a/src/Elastic.ApiExplorer/Endpoints/IndexViewModel.cs b/src/Elastic.ApiExplorer/Endpoints/IndexViewModel.cs index a09202d23..8aeea43fc 100644 --- a/src/Elastic.ApiExplorer/Endpoints/IndexViewModel.cs +++ b/src/Elastic.ApiExplorer/Endpoints/IndexViewModel.cs @@ -2,9 +2,6 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using Elastic.ApiExplorer.Landing; -using Elastic.Documentation; - namespace Elastic.ApiExplorer.Endpoints; public class IndexViewModel(ApiRenderContext context) : ApiViewModel(context) diff --git a/src/Elastic.Documentation.Configuration/Assembler/AssemblyConfiguration.cs b/src/Elastic.Documentation.Configuration/Assembler/AssemblyConfiguration.cs index 655f6baf5..1a04094c8 100644 --- a/src/Elastic.Documentation.Configuration/Assembler/AssemblyConfiguration.cs +++ b/src/Elastic.Documentation.Configuration/Assembler/AssemblyConfiguration.cs @@ -90,10 +90,8 @@ private static TRepository RepositoryDefaults(TRepository r, string }; // ensure we always null path if we are running in CI if (!string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("CI"))) - repository = repository with - { - Path = null - }; + repository = repository with { Path = null }; + if (string.IsNullOrEmpty(repository.Origin)) { if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("GITHUB_ACTIONS"))) @@ -149,10 +147,8 @@ public ContentSourceMatch Match(string repository, string branchOrTag) var next = r.GetBranch(ContentSource.Next); var isVersionBranch = ContentSourceRegex.MatchVersionBranch().IsMatch(branchOrTag); if (current == branchOrTag) - match = match with - { - Current = ContentSource.Current - }; + match = match with { Current = ContentSource.Current }; + if (next == branchOrTag) match = match with { diff --git a/src/Elastic.Documentation.Configuration/Assembler/Repository.cs b/src/Elastic.Documentation.Configuration/Assembler/Repository.cs index 7b8d39440..c09a71976 100644 --- a/src/Elastic.Documentation.Configuration/Assembler/Repository.cs +++ b/src/Elastic.Documentation.Configuration/Assembler/Repository.cs @@ -2,7 +2,6 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using System.Collections; using System.Runtime.Serialization; using YamlDotNet.Serialization; diff --git a/src/Elastic.Documentation.Configuration/ConfigurationFileProvider.cs b/src/Elastic.Documentation.Configuration/ConfigurationFileProvider.cs index a8cac2085..0b94a0784 100644 --- a/src/Elastic.Documentation.Configuration/ConfigurationFileProvider.cs +++ b/src/Elastic.Documentation.Configuration/ConfigurationFileProvider.cs @@ -7,7 +7,6 @@ using Elastic.Documentation.Configuration.Assembler; using Microsoft.Extensions.DependencyInjection; using NetEscapades.EnumGenerators; -using YamlDotNet.RepresentationModel; namespace Elastic.Documentation.Configuration; diff --git a/src/Elastic.Documentation.Configuration/Serialization/YamlStaticContext.cs b/src/Elastic.Documentation.Configuration/Serialization/YamlStaticContext.cs index e0586055b..3bc8769c0 100644 --- a/src/Elastic.Documentation.Configuration/Serialization/YamlStaticContext.cs +++ b/src/Elastic.Documentation.Configuration/Serialization/YamlStaticContext.cs @@ -4,7 +4,6 @@ using Elastic.Documentation.Configuration.Assembler; using Elastic.Documentation.Configuration.Versions; -using YamlDotNet.RepresentationModel; using YamlDotNet.Serialization; namespace Elastic.Documentation.Configuration.Serialization; diff --git a/src/Elastic.Documentation.Configuration/Versions/VersionsConfigurationExtensions.cs b/src/Elastic.Documentation.Configuration/Versions/VersionsConfigurationExtensions.cs index b79f3743b..25c0f2f0f 100644 --- a/src/Elastic.Documentation.Configuration/Versions/VersionsConfigurationExtensions.cs +++ b/src/Elastic.Documentation.Configuration/Versions/VersionsConfigurationExtensions.cs @@ -2,7 +2,6 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using System.IO.Abstractions; using Elastic.Documentation.Configuration.Serialization; using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; diff --git a/src/Elastic.Documentation.ServiceDefaults/Extensions.cs b/src/Elastic.Documentation.ServiceDefaults/Extensions.cs index 4af55c492..3bfaa382c 100644 --- a/src/Elastic.Documentation.ServiceDefaults/Extensions.cs +++ b/src/Elastic.Documentation.ServiceDefaults/Extensions.cs @@ -9,7 +9,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using OpenTelemetry; -using OpenTelemetry.Logs; using OpenTelemetry.Metrics; using OpenTelemetry.Trace; @@ -57,9 +56,9 @@ public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) w .WithTracing(tracing => { _ = tracing.AddSource(builder.Environment.ApplicationName) - .AddAspNetCoreInstrumentation(tracing => + .AddAspNetCoreInstrumentation(instrumentation => // Exclude health check requests from tracing - tracing.Filter = context => + instrumentation.Filter = context => !context.Request.Path.StartsWithSegments(HealthEndpointPath) && !context.Request.Path.StartsWithSegments(AlivenessEndpointPath) ) diff --git a/src/Elastic.Documentation.Site/Htmx.cs b/src/Elastic.Documentation.Site/Htmx.cs index ff340d363..d9752f365 100644 --- a/src/Elastic.Documentation.Site/Htmx.cs +++ b/src/Elastic.Documentation.Site/Htmx.cs @@ -2,10 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using System.Reflection; using System.Text; -using System.Text.Encodings.Web; -using Elastic.Documentation.Extensions; namespace Elastic.Documentation.Site; diff --git a/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml b/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml index 2db4a455f..fca499cca 100644 --- a/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml +++ b/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml @@ -1,4 +1,3 @@ -@using Elastic.Documentation.Configuration.Builder @inherits RazorSlice