Local and offline plugin install with LS 2.2

I have a bespoke Logstash plugin which was written for LS 1.4.3 and works perfectly in that release.

I'm trying to understand the steps involved in migrating it to work in LS 2.2

The machine(s) which need this plugin do not have access to the internet, so I need to find a strictly local and offline plugin installation method.

Here is my folder/files structure

<folder>lib
    <file>Gemfile
    <file>logstash-filter-mycustomplugin-0-1.1.gem
    <file>logstash-filter-mycustomplugin.gemspec

    <subfolder>logstash
    <subfolder>filters
        <file>mycustomplugin.rb

The mycustomplugin.rb contains the ruby for the filter itself.

Previously just putting that into the correct directory in LS 1.4 was enough (back when it was nice and simple :wink: )

I have been able to make a gem using:-

gem build logstash-filter-mycustomplugin.gemspec

This created the gem file called logstash-filter-mycustomplugin-0-1.1.gem in the lib folder which I thought would be simple enough to then install with:

plugin.bat install "\lib\mycustomplugin-0.1.1.gem"

But this fails with:
ERROR: Installation aborted, verification failed for \mycustomplugin-0.1.1.gem

Can someone PLEASE provide a step by step for how to do this?

So further to my plea for information about how to install logstash plugins offline .......

I have followed the advice at:
https://www.elastic.co/guide/en/logstash/current/_how_to_write_a_logstash_filter_plugin.html

and set up the file structure specified, made my .gem etc.

But when I try to install the gem I get:

io/console not supported; tty will not be manipulated
ERROR: Mixed source of plugins, you can't mix local `.gem` and remote gems

I changed the gemspec file to include this line:

gem 'logstash-filter-holder', :path =>"C:/git/logstash-filter-holder/logstash-filter-holder.gem"

and also tried installing with the --local flag but I still get the error about mixed gem sources.

Would really appreciate some insight into this.