Detach the main Plugin dependencies by Publisher
See original GitHub issueUntil now, we are using a single dependency including all the dependencies required by the different implementation of the plugins. For example, if I’m using InfluxDb I’m including in the classpath of the project dependencies like RethinkDb or ElasticSearch. This is something we want to improve reducing the impact in terms of dependencies and making more clean the implementation of the project.
This task will require the modularization of the Publishers and the implementation of the appropriate publishing Gradle configuration for the different artifacts.
The final requirement is at the end if I have to use only InfluxDbPublisher, I will need to include the dependency:
com.cdsap.talaiot-publishers-influxdb
If I’m not using one of the different publishers offered I can depend on the main artifact:
com.cdsap.talaiot
Issue Analytics
- State:
- Created 3 years ago
- Comments:15 (11 by maintainers)
Top GitHub Comments
Hi @mokkun thanks for reading the doc. The only reason to separate the entities publishing and plugin is having the flexibility to build plugins with several publishers. For example, in case of legacy plugin Talaiot, the plugin contains all the publishers. You can create your own plugin using two publishers with your custom requirements. It’s true that if you’re consuming a plugin type
influxdb
there is no benefit having this separation.Regarding your comment I’m ok with the layout: – library ---- influxdb ------ plugin ------ publisher
I will update the doc
@MyDogTom @mokkun I’m working on this issue, but it’s becoming a huge change. Hope at the end of next week present you a draft. I really like how is the final result