[meta] streamline and harmonize plugins with jars build and publish processes
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
This is somewhat a postmortem of the problems we had last Friday trying to fix and release a new dissect filter version. The bundled dissect 1.0.9 in LS 5.5.0 is missing its jar file. This is a list of issues we should look at to avoid similar problems.
In 5.5.0, there were reports of Java plugins (dissect and DLQ input) missing the relevant jar files. We need to audit our current Java plugins to see if more of them have the same issue:
- [x] logstash-filter-useragent
- [x] logstash-filter-geoip
- [x] logstash-filter-dissect
- [x] logstash-filter-date
- [x] logstash-input-dead_letter_queue
- [x] logstash-input-beats
- [x] logstash-input-tcp
- [ ] revew/decide on uniform jar handling in the plugin gem. The dissect problem was fixed by adding `vendor/jars/**/*` is the gemspec `files`, see PR https://github.com/logstash-plugins/logstash-filter-dissect/pull/32. Another strategy in other plugins is to [handle this in gradle](https://github.com/logstash-plugins/logstash-filter-dissect/compare/master...jakelandis:master).
- [ ] fix the build and release rake tasks to correctly propagate error conditions, see PR https://github.com/logstash-plugins/logstash-filter-dissect/pull/29
- [ ] review the *jarvis* publish command tasks sequence and error handling.
- [ ] add smoke test which just loads all bundled plugins to quickly identify any plugin with missing dependencies / initialization errors. Proposal in #7666
- [ ] review plugins repos permissions for *jarvis* "write" access for the publish task.
Contributor guide
Assessment
This issue has not been assessed yet.