Skip to content

chore: Consolidate micro-projects in src/ #3573

Description

@reakaleek

What

Three projects under src/ each contain 1–2 source files and exist only to hold a single class or interface. Collapsing them reduces solution sprawl (currently 44 projects) without any logical boundary benefit.

Projects to collapse

src/Elastic.Documentation.Svg → merge into Elastic.Documentation

Contains one 296-line static class (EuiSvgIcons). Has its own csproj with two consumers (Elastic.Markdown, Elastic.Codex). Move the file into Elastic.Documentation, update project references.

src/services/Elastic.Documentation.Services → merge into Elastic.Documentation or tooling

Single file: an empty marker interface IService + ServiceInvoker. Referenced by ~8 service projects. Merge into Elastic.Documentation (or whichever shared project the services already depend on).

src/services/Elastic.Documentation.Integrations → merge into Elastic.Documentation.Deploying or .Assembler

Two files: S3IncrementalUploader and S3EtagCalculator. Consumed only by sibling service projects. Collapse into the deploying/assembler project that already depends on it.

How

For each: move source files, delete the .csproj, update PackageReferenceProjectReference in consumers, remove from docs-builder.slnx, run dotnet build.

Part of the broader ponytail over-engineering audit tracked in #PARENT.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions