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