Skip to content

Remove or restrict exports of internal packages in module-info #94

Description

@Marcono1234

Currently some module-info.java files export internal packages:

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):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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