SchwarzIT/sap-usi-authority-check

Remove package interfaces / encapsulation

Closed this issue · 0 comments

The component is shipped as an encapsulated package with a package interface that explicitly exposes all components that are intended for external reuse. This was intended to create a public and a private part of the component. The public part should remain stable and the private part could be changed at any time.

Yesterday I learned that abapGit might have some issues with the import/activation sequence of package interfaces (abapGit/abapGit#6976).

The package interfaces / encapsulation would only be beneficial on systems with package checks enabled. For example, if they are integrated into the ATC check, they would warn developers if they unintentionally use private components of the component (which is very unlikely anyway). On all other systems, the package interfaces/encapsulations would have no effect, except for errors when cloning the repository.

Therefore, removing the encapsulation seems to be the best compromise at the moment.