Currently some module-info.java files export internal packages:
|
exports run.endive.compiler.internal; |
|
exports run.endive.runtime.internal; |
This defeats the purpose of the module declaration a bit, and the mere presence of the word "internal" in the package name is not sufficient to prevent users from relying on it, possibly even by accident due to IDE completion suggestions.
If possible it would be good to remove those exports or to restrict them by using exports <package> to <module> (documentation) to sibling Endive modules which are allowed to use the internal packages.
It seems exporting the internal packages was intentional, see dylibso/chicory#1028 (comment) and dylibso/chicory#1028 (comment), but not sure if those concerns still apply.
It seems for Chicory there are some third-party users of the internal API (based on GitHub search; might be incomplete):
Currently some
module-info.javafiles export internal packages:endive/compiler/src/main/java/module-info.java
Line 9 in 7505798
endive/runtime/src/main/java/module-info.java
Line 6 in 7505798
This defeats the purpose of the module declaration a bit, and the mere presence of the word "internal" in the package name is not sufficient to prevent users from relying on it, possibly even by accident due to IDE completion suggestions.
If possible it would be good to remove those exports or to restrict them by using
exports <package> to <module>(documentation) to sibling Endive modules which are allowed to use the internal packages.It seems exporting the internal packages was intentional, see dylibso/chicory#1028 (comment) and dylibso/chicory#1028 (comment), but not sure if those concerns still apply.
It seems for Chicory there are some third-party users of the internal API (based on GitHub search; might be incomplete):
(actually unused import?)
(maybe obsolete if Redline is integrated here? or can be worked around using
exports ... toif the usage of internal API is accepted there)