mirror of
https://github.com/vagrant-libvirt/vagrant-libvirt.git
synced 2025-02-25 18:55:27 -06:00
Allow control of the reference or version of vagrant-spec to be used from the dev environment where it is necessary to test with older versions of the plugin which may depend on different versions of dependencies compared to vagrant-spec. In this case the latest vagrant-spec has rolled forward the rspec core version to 3.10, which works with the latest vagrant-libvirt. However previous versions of vagrant-libvirt require 3.5, which was the previous minor version pinned. Adding the option of VAGRANT_SPEC_VERSION that can be set as an environment variable should help control this explicitly when needed in the future the same as how VAGRANT_VERSION is handled.
49 lines
1.5 KiB
Ruby
49 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
source 'https://rubygems.org'
|
|
|
|
# Specify your gem's dependencies in vagrant-libvirt.gemspec
|
|
gemspec
|
|
|
|
group :development do
|
|
# We depend on Vagrant for development, but we don't add it as a
|
|
# gem dependency because we expect to be installed within the
|
|
# Vagrant environment itself using `vagrant plugin`.
|
|
vagrant_version = ENV['VAGRANT_VERSION']
|
|
if !vagrant_version.nil? && !vagrant_version.empty?
|
|
gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
|
|
:ref => vagrant_version
|
|
else
|
|
gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
|
|
:branch => 'main'
|
|
end
|
|
|
|
begin
|
|
raise if vagrant_version.empty?
|
|
vagrant_version = vagrant_version[1..-1] if vagrant_version && vagrant_version.start_with?('v')
|
|
vagrant_gem_version = Gem::Version.new(vagrant_version)
|
|
rescue
|
|
# default to newer if unable to parse
|
|
vagrant_gem_version = Gem::Version.new('2.2.8')
|
|
end
|
|
|
|
vagrant_spec_verison = ENV['VAGRANT_SPEC_VERSION']
|
|
if !vagrant_spec_verison.nil? && !vagrant_spec_verison.empty?
|
|
gem 'vagrant-spec', :github => 'hashicorp/vagrant-spec', :ref => vagrant_spec_verison
|
|
elsif vagrant_gem_version <= Gem::Version.new('2.2.7')
|
|
gem 'vagrant-spec', :github => 'hashicorp/vagrant-spec', :ref => '161128f2216cee8edb7bcd30da18bd4dea86f98a'
|
|
else
|
|
gem 'vagrant-spec', :github => 'hashicorp/vagrant-spec', :branch => "main"
|
|
end
|
|
|
|
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
|
gem 'rexml'
|
|
end
|
|
|
|
gem 'pry'
|
|
end
|
|
|
|
group :plugins do
|
|
gemspec
|
|
end
|