Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to detect what causes a deprecation warning in Rake

When I do bundle exec rake -T (or bundle exec rake), I get deprecation warnings:

Andrews-Air:nabu agrimm$ bundle exec rake --trace -T [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. [DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead. rake about                               # List versions of all Rails frameworks and the environment [snip] 

Although not really relevant, here's the Gemfile:

source 'https://rubygems.org'  gem 'rails', '~> 3.2.22.2'  gem 'mysql2'  group :assets do   gem 'coffee-rails', '~> 3.2.1'   gem 'compass-rails'    gem 'therubyracer'   gem 'libv8'    gem 'uglifier', '>= 1.0.3' end  gem 'jquery-rails' gem 'haml-rails' gem 'to-csv', :require => 'to_csv' gem 'kaminari' gem 'oai' gem 'analytical'  gem 'country-select' gem 'activeadmin' gem 'sass-rails',  '~> 3.2.3' gem 'meta_search', '>= 1.1.0.pre'  gem 'devise', '2.2.3' gem 'cancancan', '~> 1.12.0'  gem 'squeel' gem 'nilify_blanks'  gem 'sunspot_rails' gem 'sunspot_solr'  gem 'unicorn'  gem 'ruby-filemagic'  gem 'capistrano' gem 'capistrano-ext' gem 'capistrano-unicorn'  gem 'rollbar', '~> 2.8.3' gem 'newrelic_rpm'  gem 'progress_bar' gem 'paper_trail', '~> 2' gem 'quiet_assets' gem 'roo', '~> 2.1.0' gem 'roo-xls', :github => 'roo-rb/roo-xls', :ref => '0a5ef88' gem 'streamio-ffmpeg' gem 'rake'  gem 'rmagick'  gem 'whenever', :require => false  group :development, :test do   gem 'turn', '~> 0.8.3', :require => false   gem 'rspec-rails', '~> 2.0'   gem 'sextant'   gem 'thin'    gem 'spring'   gem 'spring-commands-rspec'    gem 'pry'   gem 'pry-rails'    gem 'letter_opener'    gem 'guard-bundler'   gem 'guard-rails'   gem 'guard-rspec'   gem 'guard-sunspot'    gem 'rb-inotify', :require => RUBY_PLATFORM.include?('linux') ? 'rb-inotify' : false   gem 'rb-fsevent', :require => RUBY_PLATFORM.include?('darwin') ? 'rb-fsevent' : false end  group :development do   gem 'annotate'   gem 'binding_of_caller'   gem 'better_errors'   gem 'rubocop' end  group :test do   gem 'capybara'   gem 'poltergeist'   gem 'factory_girl_rails'   gem 'database_cleaner'   gem 'email_spec'   gem 'launchy' end 

Doing a git grep -i last_comment indicates it's not in my code - presumably it's in a third-party gem.

How do I work out what causes the deprecation warnings?

like image 483
Andrew Grimm Avatar asked Mar 13 '16 23:03

Andrew Grimm


Video Answer


2 Answers

Try updating gem "rspec-rails", "~> 3.4.4", that resolved the deprecation warnings for me.

like image 192
Chris Scott Avatar answered Sep 29 '22 05:09

Chris Scott


I find it easier modifying the the line from warn to raise in rake-11.1.0/lib/rake/task_manager.rb:10.

For me the offending gems are rspec (fixed in 3.4.4) and rubocop (fixed in 0.38.0).

like image 25
Ken I. Avatar answered Sep 29 '22 05:09

Ken I.