manageiq
Зеркало из https://github.com/ManageIQ/manageiq
/
Gemfile
322 строки · 13.7 Кб
1raise "Ruby versions < 3.0.1 are unsupported!" if RUBY_VERSION < "3.0.1"
2warn "Ruby versions >= 3.2.0 are untested!" if RUBY_VERSION >= "3.2.0"
3raise "Ruby versions >= 3.4.0 are unsupported!" if RUBY_VERSION >= "3.4.0"
4
5source 'https://rubygems.org'
6
7plugin "bundler-inject", "~> 2.0"
8require File.join(Bundler::Plugin.index.load_paths("bundler-inject")[0], "bundler-inject") rescue nil
9
10#
11# VMDB specific gems
12#
13gem "manageiq-gems-pending", ">0", :git => "https://github.com/ManageIQ/manageiq-gems-pending.git", :branch => "master"
14
15# when using this Gemfile inside a providers Gemfile, the dependency for the provider is already declared
16def manageiq_plugin(plugin_name)
17unless dependencies.detect { |d| d.name == plugin_name }
18gem plugin_name, :git => "https://github.com/ManageIQ/#{plugin_name}", :branch => "master"
19end
20end
21
22manageiq_plugin "manageiq-schema"
23
24# Unmodified gems
25gem "activerecord-session_store", "~>2.0"
26gem "activerecord-virtual_attributes", "~>7.0.0"
27gem "acts_as_tree", "~>2.7" # acts_as_tree needs to be required so that it loads before ancestry
28gem "ancestry", "~>4.1.0", :require => false
29gem "awesome_spawn", "~>1.6", :require => false
30gem "aws-sdk-s3", "~>1.0", :require => false # For FileDepotS3
31gem "bcrypt", "~> 3.1.10", :require => false
32gem "bootsnap", ">= 1.8.1", :require => false # for psych 3.3.2+ / 4 unsafe_load
33gem "bundler", "~> 2.2", ">= 2.2.15", *("!= 2.5.0".."!= 2.5.9"), "!= 2.5.19", :require => false
34gem "byebug", :require => false
35gem "color", "~>1.8"
36gem "config", "~>2.2", ">=2.2.3", :require => false
37gem "connection_pool", :require => false # For Dalli
38gem "dalli", "~>3.2.3", :require => false
39gem "default_value_for", "~>4.0"
40gem "docker-api", "~>1.33.6", :require => false
41gem "elif", "=0.1.0", :require => false
42gem "fast_gettext", "~>3.1"
43gem "ffi", "< 1.17.0", :require => false
44gem "gettext_i18n_rails", "~>1.11"
45gem "gettext_i18n_rails_js", "~>1.3.0"
46gem "hamlit", "~>2.11.0"
47gem "inifile", "~>3.0", :require => false
48gem "inventory_refresh", "~>2.1", :require => false
49gem "kubeclient", "~>4.0", :require => false # For scaling pods at runtime
50gem "linux_admin", ">=3.0", "<5", :require => false
51gem "listen", "~>3.2", :require => false
52gem "manageiq-api-client", "~>0.5.0", :require => false
53gem "manageiq-loggers", "~>1.0", ">=1.1.1", :require => false
54gem "manageiq-messaging", "~>1.0", ">=1.4.3", :require => false
55gem "manageiq-password", "~>1.0", :require => false
56gem "manageiq-postgres_ha_admin", "~>3.3", :require => false
57gem "manageiq-ssh-util", "~>0.2.0", :require => false
58gem "memoist", "~>0.16.0", :require => false
59gem "money", "~>6.13.5", :require => false
60gem "more_core_extensions" # min version should be set in manageiq-gems-pending, not here
61gem "net-ftp", "~>0.1.2", :require => false
62gem "net-ldap", "~>0.16.1", :require => false
63gem "net-ping", "~>1.7.4", :require => false
64gem "openscap", "~>0.4.8", :require => false
65gem "optimist", "~>3.0", :require => false
66gem "pg", ">=1.4.1", :require => false
67gem "pg-dsn_parser", "~>0.1.1", :require => false
68gem "prism", ">=0.25.0", :require => false # Used by DescendantLoader
69gem "psych", ">=3.1", :require => false # 3.1 safe_load changed positional to kwargs like aliases: true: https://github.com/ruby/psych/commit/4d4439d6d0adfcbd211ea295779315f1baa7dadd
70gem "query_relation", "~>0.1.0", :require => false
71gem "rack", ">=2.2.6.4", :require => false
72gem "rack-attack", "~>6.5.0", :require => false
73gem "rails", "~>7.0.8", ">=7.0.8.4"
74gem "rails-i18n", "~>7.x"
75gem "rake", ">=12.3.3", :require => false
76gem "rest-client", "~>2.1.0", :require => false
77gem "ruby_parser", :require => false # Required for i18n string extraction, and DescentdantLoader (via prism)
78gem "ruby-progressbar", "~>1.7.0", :require => false
79gem "rubyzip", "~>2.0.0", :require => false
80gem "rugged", "~>1.5.0", :require => false
81gem "ruport", "~>1.8.0"
82gem "snmp", "~>1.2.0", :require => false
83gem "sprockets", "~>3.7.2", :require => false
84gem "sync", "~>0.5", :require => false
85gem "sys-filesystem", "~>1.4.3"
86gem "terminal", :require => false
87gem "wim_parser", "~>1.0", :require => false
88
89# gems to resolve security issues
90# CVE-2021-33621 fixed: ruby 3.1.4 - https://github.com/advisories/GHSA-vc47-6rqg-c7f5
91gem "cgi", "~> 0.3.5"
92# CVE-2023-28756 fixed: ruby 3.1.4 - https://github.com/advisories/GHSA-fg7x-g82r-94qc
93gem "time", "~> 0.2.2"
94# CVE-2023-36617 https://github.com/advisories/GHSA-hww2-5g85-429m
95gem "uri", ">= 0.12.2"
96
97# Custom gem that replaces mime-types in order to redirect mime-types calls to mini_mime
98# Source is located at https://github.com/ManageIQ/mime-types-redirector
99gem "mime-types", "~>3.0", :require => false, :source => "https://rubygems.manageiq.org"
100
101# Modified gems (forked on Github)
102gem "handsoap", "=0.2.5.5", :require => false, :source => "https://rubygems.manageiq.org" # for manageiq-gems-pending only
103
104# In 1.9.3: Time.parse uses british version dd/mm/yyyy instead of american version mm/dd/yyyy
105# american_date fixes this to be compatible with 1.8.7 until all callers can be converted to the 1.9.3 format prior to parsing.
106# See miq_expression_spec Date/Time Support examples.
107# https://github.com/jeremyevans/ruby-american_date
108gem "american_date"
109
110# Make sure to tag your new bundler group with the manageiq_default group in addition to your specific bundler group name.
111# This default is used to automatically require all of our gems in processes that don't specify which bundler groups they want.
112#
113### providers
114group :amazon, :manageiq_default do
115manageiq_plugin "manageiq-providers-amazon"
116gem "amazon_ssa_support", :require => false, :git => "https://github.com/ManageIQ/amazon_ssa_support.git", :branch => "master" # Temporary dependency to be moved to manageiq-providers-amazon when officially release
117end
118
119group :ansible_tower, :manageiq_default do
120manageiq_plugin "manageiq-providers-ansible_tower"
121end
122
123group :autosde, :manageiq_default do
124manageiq_plugin "manageiq-providers-autosde"
125end
126
127group :awx, :manageiq_default do
128manageiq_plugin "manageiq-providers-awx"
129end
130
131group :azure, :manageiq_default do
132manageiq_plugin "manageiq-providers-azure"
133end
134
135group :azure_stack, :manageiq_default do
136manageiq_plugin "manageiq-providers-azure_stack"
137end
138
139group :cisco_intersight, :manageiq_default do
140manageiq_plugin "manageiq-providers-cisco_intersight"
141end
142
143group :embedded_terraform, :manageiq_default do
144manageiq_plugin "manageiq-providers-embedded_terraform"
145end
146
147group :foreman, :manageiq_default do
148manageiq_plugin "manageiq-providers-foreman"
149end
150
151group :google, :manageiq_default do
152manageiq_plugin "manageiq-providers-google"
153end
154
155group :ibm_cic, :manageiq_default do
156manageiq_plugin "manageiq-providers-ibm_cic"
157end
158
159group :ibm_cloud, :manageiq_default do
160manageiq_plugin "manageiq-providers-ibm_cloud"
161end
162
163group :ibm_power_hmc, :manageiq_default do
164manageiq_plugin "manageiq-providers-ibm_power_hmc"
165end
166
167group :ibm_power_vc, :manageiq_default do
168manageiq_plugin "manageiq-providers-ibm_power_vc"
169end
170
171group :ibm_terraform, :manageiq_default do
172manageiq_plugin "manageiq-providers-ibm_terraform"
173end
174
175group :kubernetes, :openshift, :manageiq_default do
176manageiq_plugin "manageiq-providers-kubernetes"
177end
178
179group :kubevirt, :manageiq_default do
180manageiq_plugin "manageiq-providers-kubevirt"
181end
182
183group :lenovo, :manageiq_default do
184manageiq_plugin "manageiq-providers-lenovo"
185end
186
187group :nsxt, :manageiq_default do
188manageiq_plugin "manageiq-providers-nsxt"
189end
190
191group :nuage, :manageiq_default do
192manageiq_plugin "manageiq-providers-nuage"
193end
194
195group :oracle_cloud, :manageiq_default do
196manageiq_plugin "manageiq-providers-oracle_cloud"
197end
198
199group :redfish, :manageiq_default do
200manageiq_plugin "manageiq-providers-redfish"
201end
202
203group :red_hat_virtualization, :manageiq_default do
204manageiq_plugin "manageiq-providers-red_hat_virtualization"
205end
206
207group :qpid_proton, :optional => true do
208gem "qpid_proton", "~>0.37.0", :require => false
209end
210
211group :systemd, :optional => true do
212gem "dbus-systemd", "~>1.1.0", :require => false
213gem "sd_notify", "~>0.1.0", :require => false
214gem "systemd-journal", "~>1.4.2", :require => false
215end
216
217group :openshift, :manageiq_default do
218manageiq_plugin "manageiq-providers-openshift"
219end
220
221group :openstack, :manageiq_default do
222manageiq_plugin "manageiq-providers-openstack"
223end
224
225group :ovirt, :manageiq_default do
226manageiq_plugin "manageiq-providers-ovirt"
227end
228
229group :vmware, :manageiq_default do
230manageiq_plugin "manageiq-providers-vmware"
231end
232
233group :workflows, :manageiq_default do
234manageiq_plugin "manageiq-providers-workflows"
235end
236
237### shared dependencies
238group :google, :openshift, :manageiq_default do
239gem "sshkey", "~>1.8.0", :require => false
240end
241
242### end of provider bundler groups
243
244group :automate, :seed, :manageiq_default do
245manageiq_plugin "manageiq-automation_engine"
246end
247
248group :replication, :manageiq_default do
249gem "pg-logical_replication", "~>1.2", :require => false
250end
251
252group :rest_api, :manageiq_default do
253manageiq_plugin "manageiq-api"
254end
255
256group :scheduler, :manageiq_default do
257gem "rufus-scheduler"
258end
259# rufus has et-orbi dependency, v1.2.2 has patch for ConvertTimeToEoTime that we need
260gem "et-orbi", ">= 1.2.2"
261
262group :seed, :manageiq_default do
263manageiq_plugin "manageiq-content"
264end
265
266group :smartstate, :manageiq_default do
267gem "manageiq-smartstate", "~>0.10.1", :require => false
268end
269
270group :consumption, :manageiq_default do
271manageiq_plugin "manageiq-consumption"
272end
273
274group :ui_dependencies do # Added to Bundler.require in config/application.rb
275manageiq_plugin "manageiq-decorators"
276manageiq_plugin "manageiq-ui-classic"
277# Modified gems (forked on Github)
278gem "jquery-rjs", "=0.1.1.3", :source => "https://rubygems.manageiq.org"
279end
280
281group :web_server, :manageiq_default do
282gem "puma", "~>6.4", ">=6.4.3"
283gem "ruby-dbus" # For external auth
284gem "secure_headers", "~>3.9"
285end
286
287group :web_socket, :manageiq_default do
288gem "surro-gate", "~>1.0.5", :require => false
289gem "websocket-driver", "~>0.6.3", :require => false
290end
291
292group :appliance, :optional => true do
293gem "irb", "=1.4.1", :require => false # Locked to same version as the installed RPM rubygem-irb-1.4.1-142.module_el9+787+b20bfeee.noarch so that we don't bundle our own
294gem "manageiq-appliance_console", "~>9.1", ">=9.1.1", :require => false
295gem "rdoc", :require => false # Needed for rails console
296end
297
298### Development and test gems are excluded from appliance and container builds to reduce size and license issues
299group :development do
300gem "foreman"
301gem "manageiq-style", "~>1.5.0", :require => false
302gem "PoParser"
303gem "yard", ">= 0.9.36"
304end
305
306group :test do
307gem "brakeman", "~>6.2", :require => false
308gem "bundler-audit", :require => false
309gem "capybara", "~>2.5.0", :require => false
310gem "db-query-matchers", "~>0.11.0"
311gem "factory_bot", "~>5.1", :require => false
312gem "simplecov", ">=0.21.2", :require => false
313gem "timecop", "~>0.9", "!= 0.9.7", :require => false
314gem "vcr", "~>6.1", :require => false
315gem "webmock", "~>3.7", :require => false
316end
317
318group :development, :test do
319gem "parallel_tests", "~>4.4", :require => false
320gem "routes_lazy_routes"
321gem "rspec-rails", "~>4.0.1"
322end
323