69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# File 'lib/mixlib/install/cli.rb', line 69
def download(product_name)
mixlib_install_options = {
channel: options[:channel].to_sym,
product_name: product_name,
product_version: options[:version],
platform_version_compatibility_mode: options[:platform_version_compat],
architecture: options[:architecture],
}.tap do |opt|
opt[:platform] = options[:platform] if options[:platform]
opt[:platform_version] = options[:platform_version] if options[:platform_version]
end
if options[:platform].nil? && options[:platform_version].nil?
mixlib_install_options.merge!(Mixlib::Install.detect_platform)
end
installer = Mixlib::Install.new(mixlib_install_options)
begin
artifact = installer.artifact_info
rescue Mixlib::Install::Backend::ArtifactsNotFound => e
abort e.message
end
if options[:url]
say artifact.url
else
say "Starting download #{artifact.url}"
file = installer.download_artifact(options[:directory])
say "Download saved to #{file}"
end
say JSON.pretty_generate(artifact.to_hash) if options[:attributes]
end
|