20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/iron_worker_ng/feature/ruby/merge_gemfile.rb', line 20
def merge_gemfile(path, *groups)
groups = groups.map { |g| g.to_sym }
groups << :default if groups.length == 0
IronCore::Logger.info 'IronWorkerNG', "Adding ruby gems dependencies from #{groups.join(', ')} group#{groups.length > 1 ? 's' : ''} of #{path}"
feature = IronWorkerNG::Feature::Ruby::MergeGemfile::Feature.new(self, path, groups)
IronWorkerNG::Fetcher.fetch_to_file(feature.rebase(path)) do |gemfile|
specs = Bundler::Definition.build(gemfile, path + '.lock', nil).specs_for(groups)
specs.each do |spec|
merge_gem(spec.name, spec.version.to_s)
end
end
@features << feature
end
|