Francesco Mari created OAK-5437:
-----------------------------------
Summary: Add a persistence-dependent namespace when running CLI
commands
Key: OAK-5437
URL: https://issues.apache.org/jira/browse/OAK-5437
Project: Jackrabbit Oak
Issue Type: Improvement
Components: run
Reporter: Francesco Mari
Assignee: Francesco Mari
Fix For: 1.8
Commands in oak-run currently live in a flat namespace. If a command is
specific to only one implementation, it will leave along other
implementation-specific commands without any means of distinguishing what
belongs where.
I would like to add a layer of indirection to the oak-run command line
interface, so to parse commands in the following fashion:
{noformat}
oak-run segment debug /path/to/folder
oak-run mongo debug mongodb://host:12345
oak-run rdb debug jdbc:oracle:oci8:scott/tiger@myhost
{noformat}
In this scenario, oak-run would become a simple entry point that would delegate
to implementation-specific command line utilities based on the first argument.
In the previous example, {{segment}}, {{mongo}} and {{rdb}} would delegate to
three different implementation specific CLI utilities. Each of these CLI
utilities will understand the {{debug}} command and will collect command-line
parameters as it sees fit.
If the code for a command is so generic that can be reused from different
commands, it can be parameterised and reused from different
implementation-specific commands.
The benefit of this approach is that we can start moving commands closer to the
implementations. This approach would benefit oak-run as well, which is
overloaded with many commands from many different implementations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)