blob: ba9a32655d43ea1a483cdb2cc63a62937a5bd951 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# frozen_string_literal: true
module Bundler
class CLI::Lock
attr_reader :options
def initialize(options)
@options = options
end
def run
unless Bundler.default_gemfile
Bundler.ui.error "Unable to find a Gemfile to lock"
exit 1
end
print = options[:print]
ui = Bundler.ui
Bundler.ui = UI::Silent.new if print
gems = options[:update]
Bundler::Fetcher.disable_endpoint = options["full-index"]
if gems && !gems.empty?
definition = Bundler.definition(:gems => gems)
else
definition = Bundler.definition(true)
end
options["add-platform"].each do |platform|
platform = Gem::Platform.new(platform)
definition.add_platform(platform)
end
definition.resolve_remotely! unless options[:local]
if print
puts definition.to_lock
else
file = options[:lockfile]
file = file ? File.expand_path(file) : Bundler.default_lockfile
puts "Writing lockfile to #{file}"
definition.lock(file)
end
Bundler.ui = ui
end
end
end
|