2017-08-13 13:14:22 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-08-06 17:23:19 +00:00
|
|
|
source "https://rubygems.org"
|
2010-12-18 18:42:03 +00:00
|
|
|
gemspec
|
|
|
|
|
2022-06-15 16:44:11 +00:00
|
|
|
if RUBY_VERSION < "3"
|
|
|
|
gem "minitest", ">= 5.15.0", "< 5.16"
|
|
|
|
else
|
|
|
|
gem "minitest", ">= 5.15.0"
|
|
|
|
end
|
2021-12-15 21:20:38 +00:00
|
|
|
|
2014-09-14 08:21:55 +00:00
|
|
|
# We need a newish Rake since Active Job sets its test tasks' descriptions.
|
2022-12-15 07:14:22 +00:00
|
|
|
gem "rake", ">= 13"
|
2014-09-14 08:21:55 +00:00
|
|
|
|
2021-10-09 15:03:05 +00:00
|
|
|
gem "sprockets-rails", ">= 2.0.0"
|
|
|
|
gem "propshaft", ">= 0.1.7"
|
2022-12-27 22:00:36 +00:00
|
|
|
gem "capybara", ">= 3.38"
|
2021-10-20 13:31:26 +00:00
|
|
|
gem "selenium-webdriver", ">= 4.0.0"
|
2017-02-19 16:50:42 +00:00
|
|
|
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "rack-cache", "~> 1.2"
|
2021-08-26 08:39:36 +00:00
|
|
|
gem "stimulus-rails"
|
|
|
|
gem "turbo-rails"
|
2021-09-06 14:44:44 +00:00
|
|
|
gem "jsbundling-rails"
|
2021-09-07 15:48:13 +00:00
|
|
|
gem "cssbundling-rails"
|
2021-08-26 08:39:36 +00:00
|
|
|
gem "importmap-rails"
|
2021-09-07 15:48:13 +00:00
|
|
|
gem "tailwindcss-rails"
|
2023-03-01 05:51:29 +00:00
|
|
|
gem "dartsass-rails"
|
2014-02-21 20:58:09 +00:00
|
|
|
# require: false so bcrypt is loaded only when has_secure_password is used.
|
2015-10-12 11:48:04 +00:00
|
|
|
# This is to avoid Active Model (and by extension the entire framework)
|
2014-02-21 20:58:09 +00:00
|
|
|
# being dependent on a binary library.
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "bcrypt", "~> 3.1.11", require: false
|
2014-02-21 20:58:09 +00:00
|
|
|
|
2015-10-12 11:48:04 +00:00
|
|
|
# This needs to be with require false to avoid it being automatically loaded by
|
|
|
|
# sprockets.
|
2021-06-28 04:48:56 +00:00
|
|
|
gem "terser", ">= 1.1.4", require: false
|
2015-09-30 14:42:31 +00:00
|
|
|
|
2016-11-15 00:26:03 +00:00
|
|
|
# Explicitly avoid 1.x that doesn't support Ruby 2.4+
|
|
|
|
gem "json", ">= 2.0.0"
|
|
|
|
|
2022-11-28 04:53:28 +00:00
|
|
|
# Workaround until Ruby ships with cgi version 0.3.6 or higher.
|
|
|
|
gem "cgi", ">= 0.3.6", require: false
|
|
|
|
|
2020-03-27 23:55:26 +00:00
|
|
|
group :rubocop do
|
2022-02-23 15:48:33 +00:00
|
|
|
gem "rubocop", ">= 1.25.1", require: false
|
2021-06-24 10:46:21 +00:00
|
|
|
gem "rubocop-minitest", require: false
|
2020-09-06 01:07:04 +00:00
|
|
|
gem "rubocop-packaging", require: false
|
2020-03-27 23:55:26 +00:00
|
|
|
gem "rubocop-performance", require: false
|
|
|
|
gem "rubocop-rails", require: false
|
2023-03-15 01:37:11 +00:00
|
|
|
gem "rubocop-md", require: false
|
2020-03-27 23:55:26 +00:00
|
|
|
end
|
2016-11-28 03:12:33 +00:00
|
|
|
|
2023-03-27 03:14:18 +00:00
|
|
|
group :mdl do
|
|
|
|
gem "mdl", require: false
|
|
|
|
end
|
|
|
|
|
2011-01-12 20:15:57 +00:00
|
|
|
group :doc do
|
2023-01-11 11:45:50 +00:00
|
|
|
gem "sdoc", ">= 2.6.0"
|
2023-02-06 07:28:56 +00:00
|
|
|
gem "rdoc", "~> 6.5"
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "redcarpet", "~> 3.2.3", platforms: :ruby
|
2020-09-21 05:19:59 +00:00
|
|
|
gem "w3c_validators", "~> 1.3.6"
|
2020-07-04 08:59:08 +00:00
|
|
|
gem "rouge"
|
2022-07-06 06:59:06 +00:00
|
|
|
gem "rubyzip", "~> 2.0"
|
2011-01-12 20:15:57 +00:00
|
|
|
end
|
2009-11-10 22:59:22 +00:00
|
|
|
|
2018-12-24 20:16:22 +00:00
|
|
|
# Active Support
|
2021-10-14 17:48:04 +00:00
|
|
|
gem "dalli", ">= 3.0.1"
|
2020-11-10 15:52:20 +00:00
|
|
|
gem "listen", "~> 3.3", require: false
|
2016-11-19 15:46:28 +00:00
|
|
|
gem "libxml-ruby", platforms: :ruby
|
2017-12-14 15:05:13 +00:00
|
|
|
gem "connection_pool", require: false
|
2020-09-24 22:41:04 +00:00
|
|
|
gem "rexml", require: false
|
2010-07-25 22:31:45 +00:00
|
|
|
|
2020-12-13 07:34:39 +00:00
|
|
|
# for railties
|
2019-04-26 07:25:28 +00:00
|
|
|
gem "bootsnap", ">= 1.4.4", require: false
|
2020-12-13 07:34:39 +00:00
|
|
|
gem "webrick", require: false
|
Always run `rails app:update` in app update tests
Prior to this commit, several tests in `AppGeneratorTest` were testing
app update behavior without actually running `rails app:update`. This
meant the logic in `Rails::AppUpdater#generator_options` that detects
which frameworks and components are installed was not being tested.
Additionally, because `ENV["BUNDLE_GEMFILE"]` is set when tests are run
(by `require "bundler/setup"` in `tools/test.rb`), any tests which did
run `rails app:update` used the Rails repo Gemfile, instead of the
generated app Gemfile. The difference becomes obvious when running
`rails app:update` after generating an app without Sprockets (as in
`test_app_update_does_not_generate_manifest_config_when_propshaft_is_used`),
because `rails app:update` will load the Sprockets railtie (due to
`Bundler.require` using the Rails repo Gemfile), and then exit with a
`Sprockets::Railtie::ManifestNeededError`. However, if
`rails app:update` is run within a `quietly` block, such an error will
be swallowed.
This commit changes all such tests to run `rails app:update` via a
`run_app_update` helper that: (1) overrides the `BUNDLE_GEMFILE`
environment variable to point to the generated app Gemfile, (2) points
the `rails` gem in the generated app Gemfile to the Rails repo
(otherwise the `rails` gem version cannot be resolved), and (3) sets
`exception: true` so that the `system` call will raise an error if
`rails app:update` exits with an error code.
This commit also adds `jbuilder` and `web-console` to the Rails repo
Gemfile to ensure they are already installed when evaluating the
generated app Gemfile.
These changes do add a couple dozen seconds to the test suite run time,
but the thorough test coverage seems worth it.
2022-10-03 22:26:04 +00:00
|
|
|
gem "jbuilder", require: false
|
|
|
|
gem "web-console", require: false
|
2019-02-11 20:44:25 +00:00
|
|
|
|
2023-01-25 02:26:34 +00:00
|
|
|
# Action Pack and railties
|
|
|
|
rack_version = ENV.fetch("RACK", "~> 2.0") # Change to ~> 3 after #46594 is merged.
|
|
|
|
gem "rack", rack_version
|
|
|
|
|
2018-12-24 20:16:22 +00:00
|
|
|
# Active Job
|
2014-08-20 02:21:39 +00:00
|
|
|
group :job do
|
2017-02-10 06:31:41 +00:00
|
|
|
gem "resque", require: false
|
2017-12-13 22:49:08 +00:00
|
|
|
gem "resque-scheduler", require: false
|
2017-10-09 11:49:55 +00:00
|
|
|
gem "sidekiq", require: false
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "sucker_punch", require: false
|
2017-12-29 21:57:28 +00:00
|
|
|
gem "delayed_job", require: false
|
2022-05-18 05:04:19 +00:00
|
|
|
gem "queue_classic", ">= 4.0.0", require: false, platforms: :ruby
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "sneakers", require: false
|
|
|
|
gem "backburner", require: false
|
2017-01-29 00:05:06 +00:00
|
|
|
gem "delayed_job_active_record", require: false
|
2014-08-20 02:21:39 +00:00
|
|
|
end
|
2014-08-12 09:29:21 +00:00
|
|
|
|
2015-12-14 15:38:37 +00:00
|
|
|
# Action Cable
|
|
|
|
group :cable do
|
2022-09-21 19:46:43 +00:00
|
|
|
gem "puma", ">= 5.0.3", require: false
|
2016-01-24 10:43:40 +00:00
|
|
|
|
2022-09-06 20:23:50 +00:00
|
|
|
gem "redis", ">= 4.0.1", require: false
|
2017-09-29 04:54:00 +00:00
|
|
|
|
2021-02-22 09:48:02 +00:00
|
|
|
gem "redis-namespace"
|
2016-01-24 17:25:53 +00:00
|
|
|
|
2016-10-06 01:11:18 +00:00
|
|
|
gem "websocket-client-simple", github: "matthewd/websocket-client-simple", branch: "close-race", require: false
|
2015-12-14 15:38:37 +00:00
|
|
|
end
|
|
|
|
|
2017-10-11 19:31:54 +00:00
|
|
|
# Active Storage
|
2017-07-31 20:53:09 +00:00
|
|
|
group :storage do
|
2017-09-10 03:22:10 +00:00
|
|
|
gem "aws-sdk-s3", require: false
|
2018-05-02 03:20:56 +00:00
|
|
|
gem "google-cloud-storage", "~> 1.11", require: false
|
2021-08-23 19:17:59 +00:00
|
|
|
gem "azure-storage-blob", "~> 2.0", require: false
|
2017-07-31 20:53:09 +00:00
|
|
|
|
2018-04-05 23:48:29 +00:00
|
|
|
gem "image_processing", "~> 1.2"
|
2017-07-31 20:53:09 +00:00
|
|
|
end
|
|
|
|
|
2018-12-24 20:16:22 +00:00
|
|
|
# Action Mailbox
|
|
|
|
gem "aws-sdk-sns", require: false
|
|
|
|
gem "webmock"
|
|
|
|
|
2017-10-19 16:01:52 +00:00
|
|
|
group :ujs do
|
2021-10-14 23:34:03 +00:00
|
|
|
gem "webdrivers"
|
2017-10-19 16:01:52 +00:00
|
|
|
end
|
|
|
|
|
2015-10-12 11:48:04 +00:00
|
|
|
# Add your own local bundler stuff.
|
2017-05-15 14:17:28 +00:00
|
|
|
local_gemfile = File.expand_path(".Gemfile", __dir__)
|
2023-01-21 01:30:47 +00:00
|
|
|
instance_eval File.read local_gemfile if File.exist? local_gemfile
|
2010-11-05 21:11:58 +00:00
|
|
|
|
2013-03-11 18:48:30 +00:00
|
|
|
group :test do
|
2017-07-15 19:19:13 +00:00
|
|
|
gem "minitest-bisect"
|
2021-08-26 08:39:36 +00:00
|
|
|
gem "minitest-ci", require: false
|
2018-10-10 22:33:09 +00:00
|
|
|
gem "minitest-retry"
|
2014-05-16 16:18:21 +00:00
|
|
|
|
2015-04-01 20:09:58 +00:00
|
|
|
platforms :mri do
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "stackprof"
|
2021-09-20 13:18:30 +00:00
|
|
|
gem "debug", ">= 1.1.0", require: false
|
2014-11-17 14:39:32 +00:00
|
|
|
end
|
|
|
|
|
2021-05-24 21:11:38 +00:00
|
|
|
gem "benchmark-ips"
|
2011-07-22 12:55:48 +00:00
|
|
|
end
|
|
|
|
|
2022-09-12 17:44:47 +00:00
|
|
|
platforms :ruby, :windows do
|
2021-01-05 12:52:07 +00:00
|
|
|
gem "nokogiri", ">= 1.8.1", "!= 1.11.0"
|
2011-05-05 17:47:07 +00:00
|
|
|
|
2015-10-12 11:48:04 +00:00
|
|
|
# Needed for compiling the ActionDispatch::Journey parser.
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "racc", ">=1.4.6", require: false
|
2013-02-26 05:10:03 +00:00
|
|
|
|
2015-10-12 11:48:04 +00:00
|
|
|
# Active Record.
|
2022-12-15 23:47:32 +00:00
|
|
|
gem "sqlite3", "~> 1.4"
|
2010-05-19 20:38:27 +00:00
|
|
|
|
|
|
|
group :db do
|
2022-01-25 11:31:36 +00:00
|
|
|
gem "pg", "~> 1.3"
|
2022-05-04 11:00:35 +00:00
|
|
|
gem "mysql2", "~> 0.5"
|
2010-05-19 20:38:27 +00:00
|
|
|
end
|
2010-07-25 22:31:45 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
platforms :jruby do
|
2016-08-06 17:23:19 +00:00
|
|
|
if ENV["AR_JDBC"]
|
2016-09-14 00:19:09 +00:00
|
|
|
gem "activerecord-jdbcsqlite3-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
|
2013-09-03 06:33:00 +00:00
|
|
|
group :db do
|
2016-09-14 00:19:09 +00:00
|
|
|
gem "activerecord-jdbcmysql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
|
|
|
|
gem "activerecord-jdbcpostgresql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
|
2013-09-03 06:33:00 +00:00
|
|
|
end
|
|
|
|
else
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "activerecord-jdbcsqlite3-adapter", ">= 1.3.0"
|
2013-09-03 06:33:00 +00:00
|
|
|
group :db do
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "activerecord-jdbcmysql-adapter", ">= 1.3.0"
|
|
|
|
gem "activerecord-jdbcpostgresql-adapter", ">= 1.3.0"
|
2013-09-03 06:33:00 +00:00
|
|
|
end
|
2013-08-20 18:31:43 +00:00
|
|
|
end
|
2010-01-01 02:49:27 +00:00
|
|
|
end
|
2010-08-16 20:58:17 +00:00
|
|
|
|
2015-10-12 11:48:04 +00:00
|
|
|
# Gems that are necessary for Active Record tests with Oracle.
|
2016-08-06 17:23:19 +00:00
|
|
|
if ENV["ORACLE_ENHANCED"]
|
2010-08-16 20:58:17 +00:00
|
|
|
platforms :ruby do
|
2016-08-06 17:23:19 +00:00
|
|
|
gem "ruby-oci8", "~> 2.2"
|
2010-08-16 20:58:17 +00:00
|
|
|
end
|
2016-09-14 00:19:09 +00:00
|
|
|
gem "activerecord-oracle_enhanced-adapter", github: "rsim/oracle-enhanced", branch: "master"
|
2010-08-16 20:58:17 +00:00
|
|
|
end
|
2011-10-03 02:51:01 +00:00
|
|
|
|
2022-09-12 17:44:47 +00:00
|
|
|
gem "tzinfo-data", platforms: [:windows, :jruby]
|
|
|
|
gem "wdm", ">= 0.1.0", platforms: [:windows]
|
2022-08-10 09:16:25 +00:00
|
|
|
|
|
|
|
# The error_highlight gem only works on CRuby 3.1 or later.
|
|
|
|
# Also, Rails depends on a new API available since error_highlight 0.4.0.
|
|
|
|
# (Note that Ruby 3.1 bundles error_highlight 0.3.0.)
|
|
|
|
if RUBY_VERSION >= "3.1"
|
2022-11-14 06:56:34 +00:00
|
|
|
gem "error_highlight", ">= 0.4.0", platforms: [:ruby]
|
2022-08-10 09:16:25 +00:00
|
|
|
end
|