Skip to content

Declare every code as a BuildDiagnosticDescriptor item - #17

Merged
vfofanov merged 4 commits into
mainfrom
feat/diagnostic-descriptors
Oct 6, 2026
Merged

vfofanov merged 4 commits into
mainfrom
feat/diagnostic-descriptors

Conversation

@vfofanov

@vfofanov vfofanov commented Oct 6, 2026

Copy link
Copy Markdown
Contributor
  • Every part declares each code it reports as a BuildDiagnosticDescriptor item (Title, MessageFormat, Description, Category, DefaultSeverity, HelpLink) in its own diagnostic.descriptors.props, imported by the part's init.props: 58 codes in 6 parts. PackageAsProj gets an init.props for it.
  • docs/reference/codes.md: each section opens with the code's title; PKG001-PKG019 name their severity. New page docs/reference/diagnostic-catalog.md.
  • tools/docs-check.sh holds the items, the <Warning>/<Error> tasks and codes.md together (both stay hand-written; the page says why) and gains --list descriptors.
  • Tests: 19 planted catalog faults must each be reported; the items must reach an evaluated project with the right DefiningProjectFullPath.
  • The reserved VER003 has no item.
  • manager/.toolkit is not refreshed: no test compares it, and it already differs from kit/ on main.

- docs-check: every reported code has exactly one BuildDiagnosticDescriptor
  item in the part that reports it, with the title, family, severity and
  opening sentence of its codes.md section and the text of its task
- tests/docs.sh: a broken catalog must fail on each planted fault
- tests/codes.sh: the items reach an evaluated project, each defined by
  its own part's file
- one diagnostic.descriptors.props per part that reports a code, imported
  by the part's init.props; PackageAsProj gets an init.props for it
- codes.md: each section opens with the code's title, and the PKG001-019
  sections name their severity
- docs/reference/diagnostic-catalog.md: the item, where the files live,
  how to add your own, why both sides stay hand-written
- property reference row, changelog, contributing checklist
- tests/codes.sh: normalise Windows paths in the evaluated items
@vfofanov
vfofanov marked this pull request as ready for review October 6, 2026 16:09
@vfofanov
vfofanov merged commit 8f925a9 into main Oct 6, 2026
4 checks passed
@vfofanov
vfofanov deleted the feat/diagnostic-descriptors branch October 6, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant