zmbush / coffeelint-ruby

This adds some simple bindings to ruby to enable use of coffeelint
MIT License
32 stars 23 forks source link

Rake task "coffeelint" not found for Rails 5.0.0 #49

Open oliverklee opened 8 years ago

oliverklee commented 8 years ago

For this project, we're using coffeelint as part of our CI chain:

https://github.com/braingourmets/gethdo

With Rails 4.2.7, the coffeelint tasks gets executed when running the default Rake task:

klee@gonzales:~/src/ruby/gethdo$ bin/rake
Running via Spring preloader in process 31536
...
  ✓ app/assets/javascripts/home.js.coffee
...

However, the coffee_lint task is not listed among the available Rake tasks:

klee@gonzales:~/src/ruby/gethdo$ bin/rake -T
Running via Spring preloader in process 31761
...
rake bundle_audit:run                   # Update vulnerabilities database and check gems using bundle-audit
rake bundle_audit:update                # Update bundle-audit database
rake cache_digests:dependencies         # Lookup first-level dependencies for TEMPLATE (like messages/show or comments/_comment.html)
rake cache_digests:nested_dependencies  # Lookup nested dependencies for TEMPLATE (like messages/show or comments/_comment.html)
rake db:create                          # Creates the database from DATABASE_URL or config/database.yml for the current RAILS_ENV (use db:create:all to create all databases in...
rake db:drop                            # Drops the database from DATABASE_URL or config/database.yml for the current RAILS_ENV (use db:drop:all to drop all databases in the c...
rake db:fixtures:load                   # Load fixtures into the current environment's database

Now, when we upgrade to Rails 5.0.0 and run the default Rake task, coffee_lint crashes:

LoadError: cannot load such file -- /home/klee/src/ruby/gethdo/test
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:293:in `require'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:293:in `block in require'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:259:in `load_dependency'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:293:in `require'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/test_requirer.rb:11:in `block in require_files'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/test_requirer.rb:10:in `each'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/test_requirer.rb:10:in `require_files'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/minitest_plugin.rb:76:in `plugin_rails_init'
/home/klee/.rvm/gems/ruby-2.3.1/gems/minitest-5.9.0/lib/minitest.rb:80:in `block in init_plugins'
/home/klee/.rvm/gems/ruby-2.3.1/gems/minitest-5.9.0/lib/minitest.rb:78:in `each'
/home/klee/.rvm/gems/ruby-2.3.1/gems/minitest-5.9.0/lib/minitest.rb:78:in `init_plugins'
/home/klee/.rvm/gems/ruby-2.3.1/gems/minitest-5.9.0/lib/minitest.rb:129:in `run'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/minitest_plugin.rb:64:in `rake_run'
/home/klee/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/test_unit/testing.rake:15:in `block in <top (required)>'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `load'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `block in load'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:259:in `load_dependency'
/home/klee/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:287:in `load'
-e:1:in `<main>'
Tasks: TOP => default => test
(See full trace by running task with --trace)

I've created a branch for this: https://github.com/braingourmets/gethdo/tree/task/rails-5 https://travis-ci.org/braingourmets/gethdo/builds/145869385

So the things to solve are:

zmbush commented 8 years ago

Your referenced backtrace doesn't seem to include any files from coffeelint_ruby.

As to why the gem isn't included in the rake tasks, I haven't looked into support for Rails 5. Perhaps the rake task loading mechanism has changed.

Unfortunately, I don't have much time to work on this gem anymore, but I would be happy to take a look at a pull request if you figure out what's wrong.