Skip to content

Make PlantUmlArchCondition.Configuration public #888

Closed
@tmohme

Description

I'm using ArchUnit capability to check rules expressed by PlantUML syntax and I'm generally really happy with this.

There is just one minor issue: I get a Kotlin compile-warning for code that is shown in an example in the User Guide.

classes().should(adhereToPlantUmlDiagram(myDiagram, consideringAllDependencies()))

gives me

Type PlantUmlArchCondition.Configuration! is inaccessible in this context due to: public/*package*/ interface Configuration defined in com.tngtech.archunit.library.plantuml.PlantUmlArchCondition

It took me a moment to understand the root cause: While both functions exchanging the Condition are public, the interface itself is not public but package protected.
It works because one function's result is directly used as parameter for the other (so I don't need to import Condition), but it would fail if I wanted store the intermediate result of consideringAllDependencies() in a typed variable.

It would be nice to get rid of this warning.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions