Open ph opened 8 years ago
another example of odd behaviour is https://github.com/elastic/logstash/issues/5580, we should try harder to narrow down the sematic of upates as might be hard to grasp somehow. what do you think?
If I can toss a few "blue sky" features, as the OP of 5580:
Necessary: whatever the system grows into, it should be able to provide an explanation of why it didn't do what was expected.
Useful: The system should be able to answer the question "What needs updating" at least as well as "gem outdated" does.
Ideal: feedback on what's getting installed and what's left to install. It's the kind of nicety a good UI provides for operations that can potentially take more than a few seconds, just to reassure the user that something is, in fact, getting done. It's not vital, which is why it's down here.
As for the open questions: From what I remember about java, there is no native dependency management system for an end user (all require dev tools like ant or maven to be installed in order to be useful) so the question of "what will it take to create one?" will probably be the major player in the first open question.
As for the second open question, it should be possible to parse the .gemspec file(s -- recursion for dependencies off the dependencies) to create a first pass at the shadow. My initial thought, however, is it's probably not worth it unless it's part of a move towards writing a completely new approach to installing/updating plugins from gems without bundler. IOW, possibly worth it if the future is Gems=yes and Bundler=no, but if either Gems=no or Bundler=yes, then not worth the candle.
We have implemented the plugin manager in logstash in 1.5 more than 2 years ago. With the java changes in the core and our future plan I think its a good time to discuss the state of plugin in logstash and how we handle the dependencies.
I want to see this as an open discussion, package manager / dependency are complex beast but it shouldn't stop us from talking.
First lets summarize the state of the plugins handling.
gem
as the data formatKnown issues
require_jar
doesn't offer a guarantee.Possible changes to bundlers and gemspec
Open questions
gem
andbundler
still the right tools to handle dependencies?I understand the question are really open ended.
This was creating following a discussion @talevy and I had.