From dbe1fb6ff333214d8c2ca55dfbe4f0f6eee9f565 Mon Sep 17 00:00:00 2001 From: Mac Siri Date: Thu, 10 Mar 2022 10:12:51 -0500 Subject: [PATCH] Remove Spring and spring-commands-rspec gem (#16848) * Remove spring and spring-commands-rspec * Remove all traces of Spring * Temporarily remove warning gem * Remove comment --- Gemfile | 2 -- Gemfile.lock | 5 ----- Guardfile | 12 +----------- bin/e2e | 3 +-- bin/rails | 1 - bin/rake | 1 - bin/spring | 14 -------------- config/boot.rb | 10 ---------- config/environments/test.rb | 3 +-- config/spring.rb | 6 ------ vendor/cache/spring-4.0.0.gem | Bin 31232 -> 0 bytes vendor/cache/spring-commands-rspec-1.0.4.gem | Bin 6144 -> 0 bytes 12 files changed, 3 insertions(+), 54 deletions(-) delete mode 100755 bin/spring delete mode 100644 config/spring.rb delete mode 100644 vendor/cache/spring-4.0.0.gem delete mode 100644 vendor/cache/spring-commands-rspec-1.0.4.gem diff --git a/Gemfile b/Gemfile index 87edb5cbb..561e06cce 100644 --- a/Gemfile +++ b/Gemfile @@ -145,8 +145,6 @@ group :development, :test do gem "rubocop-rails", "~> 2.13", require: false # Automatic Rails code style checking tool gem "rubocop-rspec", "~> 2.9", require: false # Code style checking for RSpec files gem "sassc-rails", "~> 2.1.2" # Integrate SassC-Ruby into Rails - gem "spring", "~> 4.0" # Preloads your application so things like console, rake and tests run faster - gem "spring-commands-rspec", "~> 1.0" # rspec command for spring end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index fd1003556..3b3454b41 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -793,9 +793,6 @@ GEM thor (~> 1.0) tilt (~> 2.0) yard (~> 0.9, >= 0.9.24) - spring (4.0.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) sprockets (4.0.3) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -1021,8 +1018,6 @@ DEPENDENCIES simplecov (~> 0.21.2) slack-notifier (~> 2.4) solargraph (~> 0.44) - spring (~> 4.0) - spring-commands-rspec (~> 1.0) sprockets (~> 4.0) staccato (~> 0.5) stackprof (~> 0.2) diff --git a/Guardfile b/Guardfile index e8d5ccaf3..01303d05c 100644 --- a/Guardfile +++ b/Guardfile @@ -19,23 +19,13 @@ # rspec may be run, below are examples of the most common uses. # * bundler: 'bundle exec rspec' # * bundler binstubs: 'bin/rspec' -# * spring: 'bin/rspec' (This will use spring if running and you have -# installed the spring binstubs per the docs) -# * zeus: 'zeus rspec' (requires the server to be started separately) # * 'just' rspec: 'rspec' ignore([%r{^bin/*}, %r{^config/*}, %r{^db/*}, %r{^lib/*}, %r{^log/*}, %r{^public/*}, %r{^tmp/*}, %r{^node_modules/*}]) rspec_options = { results_file: File.expand_path("tmp/guard_rspec_results.txt"), - ############################# - # BECAUSE spring doesn't seem to work well with simplecov, choose - # between the following two. - # slow but good coverage - # cmd: "bin/rspec -p", - # fast but no coverage - cmd: "bin/spring rspec -p", - ############################# + cmd: "bin/rspec -p", failed_mode: :focus, bundler_env: :clean_env } diff --git a/bin/e2e b/bin/e2e index 5346fc181..add9c1f1b 100755 --- a/bin/e2e +++ b/bin/e2e @@ -21,8 +21,7 @@ read -t 10 -p "Choose yes to setup a test database or if you're running the scri if [[ $REPLY =~ ^[Yy]$ ]]; then printf "\n\nSetting up the E2E database before running E2E tests...\n\n" - # Spring is disabled only for E2E tests run locally. Otherwise, there are all kinds of errors. - DISABLE_SPRING=1 RAILS_ENV=test E2E=true bin/e2e-setup + RAILS_ENV=test E2E=true bin/e2e-setup else printf "\n\nSkipping database setup...\n\n" fi diff --git a/bin/rails b/bin/rails index 21d3e02d8..6fb4e4051 100755 --- a/bin/rails +++ b/bin/rails @@ -1,5 +1,4 @@ #!/usr/bin/env ruby -load File.expand_path("spring", __dir__) APP_PATH = File.expand_path('../config/application', __dir__) require_relative "../config/boot" require "rails/commands" diff --git a/bin/rake b/bin/rake index 7327f471e..4fbf10b96 100755 --- a/bin/rake +++ b/bin/rake @@ -1,5 +1,4 @@ #!/usr/bin/env ruby -load File.expand_path("spring", __dir__) require_relative "../config/boot" require "rake" Rake.application.run diff --git a/bin/spring b/bin/spring deleted file mode 100755 index b4147e843..000000000 --- a/bin/spring +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env ruby -if !defined?(Spring) && [nil, "development", "test"].include?(ENV["RAILS_ENV"]) - gem "bundler" - require "bundler" - - # Load Spring without loading other gems in the Gemfile, for speed. - Bundler.locked_gems&.specs&.find { |spec| spec.name == "spring" }&.tap do |spring| - Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path - gem "spring", spring.version - require "spring/binstub" - rescue Gem::LoadError - # Ignore when Spring is not installed. - end -end diff --git a/config/boot.rb b/config/boot.rb index d22fd2f3b..988a5ddc4 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,14 +1,4 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) -# NOTE: We need to ignore this warning early during app startup. -# 1. `parser` is a transitive dependency (`erb_lint` -> `better_html` -> `parser`) -# 2. The warnings are generated while reading the class body, so we need to ignore -# them *before* the gem's code is read. -# 3. The warning is intentional, it will always occur when the used point release -# isn't the most recent. Since our update schedule is somewhat influenced by -# Fedora release cycles right now, this can occur frequently. -require "warning" -Warning.ignore(%r{parser/current}) - require "bundler/setup" # Set up gems listed in the Gemfile. require "bootsnap/setup" # Speed up boot time by caching expensive operations. diff --git a/config/environments/test.rb b/config/environments/test.rb index 2d99316ed..da4ac9685 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -11,9 +11,8 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. - # cache_classes should be false when Spring is enabled, and true when it's disabled # https://guides.rubyonrails.org/configuring.html#config-cache-classes - config.cache_classes = ActiveModel::Type::Boolean.new.cast(ENV["DISABLE_SPRING"]) + config.cache_classes = true # See https://github.com/rails/rails/issues/40613#issuecomment-727283155 config.action_view.cache_template_loading = true diff --git a/config/spring.rb b/config/spring.rb deleted file mode 100644 index 643868a10..000000000 --- a/config/spring.rb +++ /dev/null @@ -1,6 +0,0 @@ -Spring.watch( - ".ruby-version", - ".rbenv-vars", - "tmp/restart.txt", - "tmp/caching-dev.txt", -) diff --git a/vendor/cache/spring-4.0.0.gem b/vendor/cache/spring-4.0.0.gem deleted file mode 100644 index aa98242ec6f424add2f6b294504b4e16a6eb4bc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31232 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

O?W|6J^SqV# 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 diff --git a/vendor/cache/spring-commands-rspec-1.0.4.gem b/vendor/cache/spring-commands-rspec-1.0.4.gem deleted file mode 100644 index 46e2fc3000a0a0611cc1352b20b5316993ee3fe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 zcmeHLXH*l&7N%=JI!JE|Qey}tL=+@|fFMQD(2*jcg^~rLRHcd3Nbg08G^GTUj`WUn zq=?{BHA3huv^@8{AG^mN@BLbL&w1WIGjr~lnR~x;=ezfgi!H_)X^pW4+53?FRRaDd zP$-n__wk#2Kg!6+T_Tf_g+d`RGEiBlEE!k^0)<>669oTN2L1Wm`yLo;_irY7I@sDe z|5@?f{D0~H2Xr%r`ARYa_8hG zU5k_th^ed++bcM-elTGmOx2WGVIwAkRaIxM5bl5|)Ne2MA6!sj8sezx8PDl4j5%85 zD-x+K72?p2^^lGdO_S0rdRaPT8^e=d12VVbqlxv!G1$aWhWdQ~GT*3Hk%^ql7>hf~ zuaL|k@VD|ni4DD--N-^0kxd|L%L(o`UN+wd3qg9lxNsD2;(7S`0pSUC?QPUM> z!ZsM}b-vvm8WFeFmOGdGOp9FZ3k3$0-M7oR(ZN)q@$N`HZ;Dbs`y|H{{h*Iik+ut2 zD%R}leu^65D)o-S^;hO!yeDlE<=RxneCHkyA%p@mb{?qt8^eq?h;Ox9?>dtn6)_xW zj|GWL`fF?tZa1|mVyC7s*FDJh1$Ae{ju;Vex;@t7s$&Mds{^B75`b_@3^}MecP}$< z6#k)4Nc}2LI|UoZD}$8xD~ZD&jm-NjMme9bdIdCWD#jOGEA?v$J~Jaam6lXk1@^9E zyY_AwFqnb6?WK=GbOO?hlF=Ljt{m^+UT<8_qd{dHI_v}ptZpVG`ZjV-W!DbIb1}5d zy{6jF%O3Dzl+-I;Q&VUQ=fn&{9J%$tPLT3q)ZylLYjwC;4XEycZGZahHEY-=+@a+>PhS9PhsG$zlkVk9_0e=Cf#zQiL@z_B$X?6~TFK zTq+I#1&OHBw~oZte);kXvUa+jR2QO!1~_Ni=Sr+UjVKt~ButYmaderi6INz~!)~)V z^7LAsFP8Jk&dXkB|EZ7Q|Jbg7bN@F6{2Tcn0+oY&&;JlP*iZid5n=fU|F3d6p{J{0 z&xleCV+@saMvq`K=aA{BKJ40k=WB-J?CPJpSzKPns$rj}(e&?4dy4l&bK^fqd+dXU zTbaFQ6&d+Q%w;>00317u(mYtZJU5>YmmS$`NY%rrYQ3~ly}}vi2d0_lTdSwBdjO~& z16a1$FEICGi8%I@YRzNisQ2Vrr;Ue}&DJE_c0kHD5FmWxU4R%}mB@0bv?_lL2h;)= zmd4Cj79OA7k{kAfG9wOY*h+QG$9@{ea$FQ2*1tk6qaS_p`1yo(TyReU&3%0ap(Q?yOsH0hfO36q`+xV4;5>>aswHNGhv3@zOek#oJRF*gR!2)>lv(BuV-P%uMA2U2Y>C%#g{VWWx+n`$tIhoGQ_;T5jroBi2=3O_c69CvZb-B zEc0`5@UF#-mD{VBR`v+fuHag^2_82w|w60#;f%xi)N2@9_+9RALfq8SF8#IsC5}OPv0Fv*c;d! z^;tW|w{AdB^YqdP^o-_MQ23IM-nzR(Ew~mVwor^+JwihHFXshDny=FNE~a*~n*^S) zK5E|i$j#tkIDX;A`tsIpXS`9__WZ}-?M)ndVbLS~9N!9Y2xOdd`)$sW`B*mkuCeqg zuTvDle8?&vBRxp)qa~Uglz+awz^szK({fRw_Z|i(Mr?j^@Z4J(_#%NADd{r&88MS zB%)Xl>Hpw(oq#7_u;e&8IY0}nlNe<0@!NUPfK&x2-yW|eHU>b*R2H=XYlwa77)Bi~ z<#^A;uJ`T~%|pot8pPt!7La%r&OTgV^dctp(i-)|^%&pm3T40{AfY)rm)@&7z0Xw1 z2Kh_VEM!;dW$Hbd5XiT=WIoJ%6MM&PS!M|+l4(jm&gq|ba>(rku#S2z|P zYd@h;%w7Ov^?6M>ODNl?>S(`KAHHWFBvyw{?P#PmM08K=T0+Bn+v;5_Pib~Pu145B zvW#nN+RK9-?t?c!`5ihpk^IM0r-tLQe^z(KI5?Rx%xt4z3apTB3%?@;TC^ipRvZmk zH<+{yPudSNOiXl63w+w5D*X-ZD!bF)d0zOrEECXxdK+@EJi%CttoIaIqHaSw@utqj z)y(`#WXWKUcKj-h*JzQhb0sF!_I{2itp)K83a-4LueEgwky<2=^@|&{OqIo^yihDL zx@6c^k}TnGVUl1UCKNJO`XTJBKyq74qnJR|E{JC+-t`y@+6N;;2?NjO!_`NNAN zXe1kKRURe+BwuR!>gFnzEjLPSUsW4yqn|!d(}}Rz;_Lu`}RZNCP;cG z|LSrOUbx|v<9Jw;Kcntz7e7E!^Ugy>S%EG$-mVFL|8M!1M4}`ccxvTLCi)|i@!xQV zjf1U?lgE7*50JODi}PPo1^(U||CjzB43&X?SN}m_-@XZc_WwU19{#BRY@-$QD3#Aq zA7%W)an_VHK8wNZWHeh$BcS5!h4xwiLc9iK{XzZR*-sX8k7_O8D|2{8f8s%-rC4a? z%7D2@?|6-gJ2Xy34^4R0!WHT(%SiHZe>%GN^_+Tjt<~A2@c5VnLT8g4iBBUL^F zc%t}zS!5}0b29;nJ4qcJeV(kfA-6$AY-GK+qsa-;(1g?@<;w0EIzH>5GEfyUyOJJ} zz~zQG8jyg9B<9`i+$+v}iE%c6ic!6($2Wx!OtjGVA(C(KN?*?<{{dkCyy7PUKN0we Jz&{9qe*tuZnIHfF