Repository navigation
Document the slice API and regenerate the guide's slice diagrams - #517
Open
alexanderlinne wants to merge 2 commits into
Open
alexanderlinne wants to merge 2 commits into
alexanderlinne wants to merge 2 commits into
Conversation
alexanderlinne
force-pushed
the
add-slice-xml-docs
branch
from
October 30, 2026 20:03
1dddaa5 to
0f80688
Compare
alexanderlinne
marked this pull request as ready for review
October 30, 2026 20:03
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## match-slice-patterns-with-regex #517 +/- ##
================================================================
Coverage 86.48% 86.48%
================================================================
Files 261 261
Lines 12679 12679
Branches 1231 1231
================================================================
Hits 10966 10966
Misses 1366 1366
Partials 347 347 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Alexander Linne <alexander.linne@tngtech.com>
alexanderlinne
force-pushed
the
add-slice-xml-docs
branch
from
October 30, 2026 20:08
0f80688 to
b5d86cb
Compare
The slice diagrams in guide sections 5.1 to 5.6 were last generated in 2020 and 2022 and no longer matched what the exporter draws: slices are now named "Slice ..." after their captures, nested at the namespace their types share, and patterns such as "ArchUnitNET.(*).(*)" produce other slices since they are matched like ArchUnit's. Regenerate them from the guide's own code snippets, run against the ArchUnitNET assembly. The 5.4 snippets elide their options, so they keep 5.2's NestSlicesInPackages, as the old diagrams did. The exporter's .puml output is committed next to each SVG, as for the other guide diagrams, so the next change can regenerate them. The SVGs were rendered with PlantUML 1.2025.4 and Graphviz, with the remote C4-PlantUML include replaced by PlantUML's bundled copy. Signed-off-by: Alexander Linne <alexander.linne@tngtech.com>
alexanderlinne
force-pushed
the
add-slice-xml-docs
branch
from
October 30, 2026 20:11
b5d86cb to
c8838f8
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
XML documentation
#515 and #516 document
SliceRuleInitializerandSliceIdentifier, where the pattern syntax and the naming live. The first commit documents the rest of the public slice API, so that IntelliSense explains every type a slice rule passes through:Slice: what a slice is, its identifier, types and name.SliceIdentifierComparer: when two identifiers belong to the same slice.SliceRuleDefinition,GivenSlices,SlicesShouldandSliceRule: the steps of the fluent rule, includingGivenSlices.GetObjects, which returns the slices for diagram generation.SliceAssignment: how types are mapped to slices and grouped.SliceRuleCreator: how the assignment and the evaluation are wired together.Guide diagrams
The slice diagrams in guide sections 5.1–5.6 (
documentation/docs/diagrams/archUnitNet_*.svg) were last generated in 2020 and 2022 and already didn't matchmain. Three PRs of the stack change what they show:ArchUnitNET.(*),ArchUnitNET.(*).(*)andArchUnitNET.Fluent.(*).(*).(*)produce.So the second commit regenerates them once, after the last behaviour change. Each diagram comes from the guide's own code snippet, run against the ArchUnitNET assembly. The 5.4 snippets elide their options, so they keep 5.2's
NestSlicesInPackages, as the old diagrams did. The exporter's.pumloutput is committed next to each SVG, as for the other guide diagrams, so the next change can regenerate them. The SVGs were rendered with PlantUML 1.2025.4 and Graphviz, with the remote!includeof C4-PlantUML replaced by PlantUML's bundled copy (!include <C4/C4_Container>).