Skip to content

Classes missing from PlantUML diagram should not cause exception #960

Description

@codecholeric

At the moment, when using the PlantUML feature to create ArchRules from PlantUML component diagrams every class must be contained in the diagram or an IllegalStateException is thrown. The reason behind this is that we want to prevent users from missing classes or creating tests that in fact only cover a little part of the code base while getting a false sense of security.

This has one severe problem though: In legacy code bases there might be many classes that should be contained by the diagram, but are not at the moment. Getting an IllegalStateException thrown prevents the use of FreezingArchRule to freeze this legacy code state and improve it piece by piece. The only way would be to either create a legacy bucket in the diagram, which is tedious, or to exclude all the classes from the rule creating a big black hole where classes are uncovered by the rule and can further degenerate.

We should change classes not contained in the diagram from an IllegalStateException to a regular rule violation to improve this.

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