runner cleanup
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 19h 14m
- Merged PRs (30d)
- 63
Description
not because of the runner's trots.
In #3111 I unilaterally removed `bin/logstash rspec` in favor of `bin/rspec`. It's still up for debate if we are going to keep `bin/logstash rspec` "because it was there" or not.
The Runner class need a cleanup:
- I do not think that the support for `irb` and `pry` should be there. these are development tools.
- `docgen` does not belong there, it's a packaging tool.
- `plugin` is redundant to `bin/plugin` just like `rspec` is redundant to `bin/rspec`.
- the `agent` concept is not needed anymore since that's only what logstash is now.
I suggest we move `irb`, `pry` and `docgen` as seperate commands in the `bin/` dir. with the startup script cleanups in #3111 is it now super simple to do, see the new [bin/plugin](https://github.com/colinsurprenant/logstash/blob/fix/logstash_core/bin/plugin). Doing this we will gain the choice of including them in the package or not and it's a better "separation of concerns".
Since logstash is always `agent`, I suggest we simply ignore that argument if we see it and just pass all argument parsing to the Agent class.
The only remaining option would be `bin/logstash version`. We could either convert it to `--version` and pass it to the Agent class for the sake of backward compatibility or remove/deprecate its support in favor of `bin/logstash --version`.
Contributor guide
Assessment
This issue has not been assessed yet.