This PR adds a suite of ArchUnit tests that enforce a few basic structural patterns throughout the codebase. The currently implemented rules:
Ensure no entity name is a reserved SQL keyword (currently only checks for "user", but can be expanded to other keywords as well)
Ensure classes in certain packages have consistent naming conventions/ensure certain types of classes are located in certain packages
Ensure classes do not directly call methods from advice classes
This PR does not attempt to fix any of the above issues (in particular, the last rule has 74 (?!) violations). In cases where existing code fails tests, these rules are "frozen" and existing violations are logged in a store. Violations in this store will not fail the build, only violations in future code will.
This PR adds a suite of ArchUnit tests that enforce a few basic structural patterns throughout the codebase. The currently implemented rules:
This PR does not attempt to fix any of the above issues (in particular, the last rule has 74 (?!) violations). In cases where existing code fails tests, these rules are "frozen" and existing violations are logged in a store. Violations in this store will not fail the build, only violations in future code will.