Not sure if the script approach is good for the long run.
What we could do with it though is to provide a script in a magic
location in each bundle.
The shell could then dynamically add and remove the scripts as the
bundles are started / stopped.
Does that make sense ?
For the long run I think we could have a service that provides this
information. Kind of a command metadata service.
A bundle could either offer such a service manually or it could be
created by an extender from annotation data.
Such a solution could then also cover the plain karaf commands.
Christian
On 12.10.2016 17:57, Guillaume Nodet wrote:
I'm working on trying to nicely integrate gogo commands.
The new gogo-jline bundle has a very nice way to allow external
configuration for command completion. For example, one need to execute the
script at https://gist.github.com/gnodet/18de68d57fc959efb7f9e4766415ff5e
to add full completion to the Karaf shell once you have the scr bundle
installed (it always provides gogo commands). Other examples are available
at
https://github.com/apache/felix/blob/trunk/gogo/jline/src/main/resources/gosh_profile
The question is : how to provide such a script.
One possibility would be to have a dedicated folder such as etc/scripts/
where all scripts would be loaded when a session is started. We could then
reference those files in features so that they are copied when features are
installed.
This would allow leveraging the <configfile> feature xml element.
Do you guys have better ideas ?
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com