lib/capsulecd/ruby/ruby_engine.rb in capsulecd-1.0.3 vs lib/capsulecd/ruby/ruby_engine.rb in capsulecd-1.0.4

- old
+ new

@@ -32,11 +32,11 @@ # http://guides.rubygems.org/make-your-own-gem/ version_str = CapsuleCD::Ruby::RubyHelper.read_version_file(@source_git_local_path, gemspec_data.name) next_version = bump_version(SemVer.parse(gemspec_data.version.to_s)) - new_version_str = version_str.gsub(/(VERSION\s*=\s*['"])[0-9\.]+(['"])/, "\\1#{next_version}\\2") + new_version_str = version_str.gsub(/(VERSION\s*=\s*['"])[0-9\.]+(['"])/, "\\1#{next_version.to_s}\\2") CapsuleCD::Ruby::RubyHelper.write_version_file(@source_git_local_path, gemspec_data.name, new_version_str) # check for/create any required missing folders/files unless File.exist?(@source_git_local_path + '/Gemfile') File.open(@source_git_local_path + '/Gemfile', 'w') { |file| @@ -53,24 +53,26 @@ unless File.exist?(@source_git_local_path + '/.gitignore') CapsuleCD::GitUtils.create_gitignore(@source_git_local_path, ['Ruby']) end # package the gem, make sure it builds correctly - Open3.popen3('gem build '+ File.basename(gemspec_path), chdir: @source_git_local_path) do |_stdin, stdout, stderr, external| - { stdout: stdout, stderr: stderr }. each do |name, stream_buffer| - Thread.new do - until (line = stream_buffer.gets).nil? - puts "#{name} -> #{line}" + Bundler.with_clean_env do + Open3.popen3('gem build '+ File.basename(gemspec_path), chdir: @source_git_local_path) do |_stdin, stdout, stderr, external| + { stdout: stdout, stderr: stderr }. each do |name, stream_buffer| + Thread.new do + until (line = stream_buffer.gets).nil? + puts "#{name} -> #{line}" + end end end - end - # wait for process - external.join - unless external.value.success? - fail CapsuleCD::Error::BuildPackageFailed, 'gem build failed. Check gemspec file and dependencies' - end - unless File.exist?(@source_git_local_path + "/#{gemspec_data.name}-#{next_version.to_s}.gem") - fail CapsuleCD::Error::BuildPackageFailed, "gem build failed. #{gemspec_data.name}-#{next_version.to_s}.gem not found" + # wait for process + external.join + unless external.value.success? + fail CapsuleCD::Error::BuildPackageFailed, 'gem build failed. Check gemspec file and dependencies' + end + unless File.exist?(@source_git_local_path + "/#{gemspec_data.name}-#{next_version.to_s}.gem") + fail CapsuleCD::Error::BuildPackageFailed, "gem build failed. #{gemspec_data.name}-#{next_version.to_s}.gem not found" + end end end end def test_step