Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
shell.console currently contains API interfaces and classes as well as internal impl classes. For example the package shell.console contains mainly interfaces but also the Main class which is not to be reused by other projects.
So one thing we have to do is split API and impl at least into packages. So a package either contains APIs or implementations. This would already allow to tune the package exports so the impl classes are not visible in OSGi.
I would even go one step further and move the API packages to a separate project so other projects can depend on this maven artifact. This will also hide the impl classes at compile time.
As this step could affect the API I think we should try to do it for Karaf 3.0.0 so the API can remain more stable later.