diff options
| -rw-r--r-- | lib/leap_cli/commands/vagrant.rb | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/lib/leap_cli/commands/vagrant.rb b/lib/leap_cli/commands/vagrant.rb index a60e176..032fa36 100644 --- a/lib/leap_cli/commands/vagrant.rb +++ b/lib/leap_cli/commands/vagrant.rb @@ -111,13 +111,33 @@ module LeapCli; module Commands    def vagrant_setup      assert_bin! 'vagrant', 'Vagrant is required for running local virtual machines. Run "sudo apt-get install vagrant".' -    unless assert_run!('vagrant gem which sahara').chars.any? -      log :installing, "vagrant plugin 'sahara'" -      assert_run! 'vagrant gem install sahara' + +    version = vagrant_version  +    case version +      when 0..1 +        unless assert_run!('vagrant gem which sahara').chars.any? +          log :installing, "vagrant plugin 'sahara'" +          assert_run! 'vagrant gem install sahara' +        end +      when 2 +        unless assert_run!('vagrant plugin list | grep sahara | cat').chars.any? +          log :installing, "vagrant plugin 'sahara'" +          assert_run! 'vagrant plugin install sahara' +        end      end      create_vagrant_file    end +  def vagrant_version +    minor_version = `vagrant --version|cut -d' ' -f 3 | cut -d'.' -f 2`.to_i +    version = case minor_version +      when 1..9 then 2  +      when 0    then 1 +      else 0 +    end +    return version +  end +    def execute(cmd)      log 2, :run, cmd      exec cmd | 
