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