Skip to content

[FC-0003] Single-Package-Integration von CSCore inkl. Packaging-/Consumer-Gates (toolchain-stabil) #111

@tomtastisch

Description

@tomtastisch

Ziel

Single-Package-Integration von CSCore in das Hauptpaket, ohne consumer-brechende transitive Zweitpaket-Pflicht und ohne Toolchain-Regressions.

Abhaengigkeiten

Kritische Rahmenbedingung (Blocker)

Cross-Language-Kopplung darf keine Regression in Pflichtchecks (dotnet format ... analyzers, Build, Pack, Consumer-Smoke) erzeugen. Bei Toolchain-Konflikten gilt fail-closed: Entkopplung der Compile-Time-Kante und Packaging-Orchestrierung per MSBuild.

Scope

In Scope

  • CSCore wird pro TFM deterministisch gebaut.
  • CSCore-Assembly wird in das Haupt-nupkg eingebettet (Single-Package-Vertrag).
  • Package-Contract-Test verifiziert die Presence von FileClassifier.CSCore.dll.
  • Consumer-/Pack-/Build-Checks bleiben gruen.

Out of Scope

  • Erzwingender VB->CSCore ProjectReference, falls dieser die Toolchain destabilisiert.
  • Separates oeffentliches Zweitpaket als Pflicht fuer Konsumenten.

Umsetzung (Steps)

  1. Build-Orchestrierung von CSCore ueber FileTypeDetectionLib.vbproj (MSBuild-Target je TFM).
  2. Einbettung in BuildOutputInPackage absichern.
  3. CI-Pack-Gate fail-closed auf CSCore-DLL Presence erweitern.
  4. Consumer-/PackageBacked-Verifikation ausfuehren.

Definition of Done (DoD)

  • Hauptpaket enthaelt FileClassifier.CSCore.dll fuer die unterstuetzten TFMs.
  • Kein zusaetzliches transitive Pflichtpaket fuer Konsumenten erforderlich.
  • Build/Pack/Consumer-Smoke/package-backed-tests bestehen.
  • Keine Regression in dotnet format ... analyzers.

Evidence

  • Code-Diff (MSBuild-Orchestrierung + Pack-Target + CI-Gate)
  • Pack-Nupkg-Inhalt (DLL-Nachweis)
  • Consumer-/PackageBacked-Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciCI/workflow changefeatureNew compatible feature or datatypetestTest changetoolingTooling/scripts changeversioning:minorNew compatible functionality; requires MINOR bump

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions