lib/eac_launcher/ruby/gem/build.rb in eac_launcher-0.6.0 vs lib/eac_launcher/ruby/gem/build.rb in eac_launcher-0.6.1
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
require 'tmpdir'
require 'eac_ruby_utils/console/speaker'
require 'eac_ruby_utils/envs'
require 'eac_launcher/ruby/gem/specification'
@@ -13,19 +15,21 @@
@original_gem_root = original_gem_root
end
def output_file
return nil unless @gem_root
+
@gem_root.find_files_with_extension('.gem').first
end
def builded?
output_file.present? && ::File.exist?(output_file)
end
def build
return if builded?
+
copy_gem_files
build_gem
check_gem_empty_size
check_gem_version
end
@@ -83,16 +87,18 @@
end
def check_gem_version
spec = ::EacLauncher::Ruby::Gem::Specification.new(gemspec_file)
return if ::File.basename(output_file, '.gem') == spec.full_name
+
raise("Builded gem is not the same version of gemspec (#{spec}, #{output_file})")
end
def bundle_dependencies
gemfile = @gem_root.subpath('Gemfile')
return unless ::File.exist?(gemfile)
+
Dir.chdir(@gem_root) do
EacRubyUtils::Envs.local.command('bundle', 'install').execute!
end
end
@@ -103,10 +109,10 @@
def on_clear_envvars(*start_with_vars)
old_values = envvars_starting_with(start_with_vars)
old_values.keys.each { |k| ENV.delete(k) }
yield
ensure
- old_values.each { |k, v| ENV[k] = v } if old_values
+ old_values&.each { |k, v| ENV[k] = v }
end
def envvars_starting_with(start_with_vars)
ENV.select { |k, _v| start_with_vars.any? { |var| k.start_with?(var) } }
end