From 04a0132c921abee4e1042df9d6bf2142c5613f88 Mon Sep 17 00:00:00 2001 From: Mario de la Ossa Date: Fri, 18 Aug 2023 14:06:31 -0600 Subject: [PATCH] Compatibility with newer ruby 2.x --- .travis.yml | 4 ++++ aptible-cli.gemspec | 1 + cleanup_bundler | 14 ++++++++++++++ 3 files changed, 19 insertions(+) create mode 100755 cleanup_bundler diff --git a/.travis.yml b/.travis.yml index 8c4f849e..c7e43a49 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,11 @@ rvm: - "2.4" - "2.5" - "2.6" + - "2.7" +before_install: + - ./cleanup_bundler + - gem install bundler -v '< 2' script: - bundle exec rake - bundle exec script/sync-readme-usage diff --git a/aptible-cli.gemspec b/aptible-cli.gemspec index e39ffeeb..c560a1e1 100644 --- a/aptible-cli.gemspec +++ b/aptible-cli.gemspec @@ -30,6 +30,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'chronic_duration', '~> 0.10.6' spec.add_dependency 'cbor' spec.add_dependency 'aws-sdk', '~> 2.0' + spec.add_dependency 'bigdecimal', '~> 1.3.5' # https://github.com/ruby/bigdecimal#which-version-should-you-select # Temporarily pin ffi until https://github.com/ffi/ffi/issues/868 is fixed spec.add_dependency 'ffi', '<= 1.14.1' if Gem.win_platform? diff --git a/cleanup_bundler b/cleanup_bundler new file mode 100755 index 00000000..88aa0bf2 --- /dev/null +++ b/cleanup_bundler @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby + +# Newer rubies have Bundler 2.x installed as default so it can't be deleted +# We need Bundler 1.x + +gempaths = `gem env gempath`.split(':') +gempaths.each do |gempath| + # lookup bundler-*.gemspec files and delete them + # this is the only way to completely cleanup default bundler + # Note: the bundler gemspecs' paths are different for CRuby and JRuby + Dir.glob(gempath.strip + '/specifications/**/bundler-*.gemspec').each do |p| + File.delete(p) + end +end