Class BowireBreakingChanges

Namespace
Kuestenlogik.Bowire.Linting
Assembly
Kuestenlogik.Bowire.dll

Breaking changes against a baseline, as lint findings (#583).

public static class BowireBreakingChanges
Inheritance
BowireBreakingChanges
Inherited Members

Remarks

bowire diff --fail-on breaking already answers "would a consumer break?". This does not answer it a second time: it takes the same BowireSchemaDelta and the same line HasBreakingChanges draws — a removed service, a removed method, a signature change — and reports each one the way every other rule reports, so one lint run, one report and one gate cover design smells and compatibility together. Additions, deprecations and prose edits are not breaking and produce nothing.

It is not an ordinary IBowireLintRule, because a rule sees one service and this needs two surfaces. It still has a rule id, so .bowire/rules.json can switch it off or re-grade it like any other, and the reports that list rules (JUnit, SARIF) can name it.

Fields

RuleId

public const string RuleId = "BWR-LINT-BREAKING-CHANGE"

Field Value

string

Properties

Rule

The rule's identity for reports that list rules. It finds nothing on its own.

public static IBowireLintRule Rule { get; }

Property Value

IBowireLintRule

Methods

Find(IReadOnlyList<BowireServiceInfo>, IReadOnlyList<BowireServiceInfo>, BowireLintConfig?)

Diff baseline → current and report what breaks.

public static IReadOnlyList<BowireLintFinding> Find(IReadOnlyList<BowireServiceInfo> baseline, IReadOnlyList<BowireServiceInfo> current, BowireLintConfig? config = null)

Parameters

baseline IReadOnlyList<BowireServiceInfo>
current IReadOnlyList<BowireServiceInfo>
config BowireLintConfig

Returns

IReadOnlyList<BowireLintFinding>

ToFindings(BowireSchemaDelta, BowireLintConfig?)

The breaking part of a delta, as findings.

public static IReadOnlyList<BowireLintFinding> ToFindings(BowireSchemaDelta delta, BowireLintConfig? config = null)

Parameters

delta BowireSchemaDelta
config BowireLintConfig

Returns

IReadOnlyList<BowireLintFinding>