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?
as you need to specify the version in your plugin descriptors file, you need to have a custom build for each Elasticsearch you want to support at the moment. See Help for plugin authors | Elasticsearch Plugins and Integrations [7.12] | Elastic
For my plugins I use a non semantic versioning scheme that includes the elasticsearch version and a patch version for my plugin like
220.127.116.11, see GitHub - spinscale/elasticsearch-ingest-langdetect: Ingest processor doing language detection for fields
hope that helps!
Hi @spinscale ,
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.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.
Thanks a lot!
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.
Thanks for your help.
out of curiosity: care to share the plugin you are working on?
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.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.