What is the best way of versioning plugins.
If we plan to have multiple versions of our plugin, and support multiple versions of ElasticSearch how would we do that?
Is there anyway that we say that our plugin should support multiple versions in gradle os something else?
I was looking at your repo as example.
I am not sure how complex version system there will be for "plugin" itself so I was wondering what was the best way to support something like that.
If we need to have 1.0.0 of the plugin for multiple ES versions and then do steady releases lik: 1.1.0 and 1.2.0 for the plugin again across multiple versions of ES.
I'll take a look at the custom build and try to resolve it.
My approach was from the Elasticsearch perspective. You basically need two release branches (6.8 and 7.13) as those are the only active ES versions. But indeed, as you mentioned, things get messy when you move your plugin forward for older versions as well, basically creating a m*n compatibility matrix...
In the far future there might be ways to simplify this with a stable API, but for now, you will have to have releases across all the versions you want to support (probably makes sense to support the latest minor version for each ES release, like 7.x).
This plugin is not yet released but and my guess is that "users" will dictate what they expect, and what versions of ES they are using, and we need to support.
Until then we can just support latest version of ES.
I would love to, but currently it's on private repo, but plan is to release it as open source when we think it is ready.
Plugin is connection between NLAPI and ElasticSearch.
Idea is (and we know it's bad one) that when users hit pipeline, we will call APi, or process document locally and get bunch of NLP information to add to the original document.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.