首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rubocop忽略.rubocop.yml中指定的排除

Rubocop忽略.rubocop.yml中指定的排除
EN

Stack Overflow用户
提问于 2019-12-20 03:10:14
回答 1查看 387关注 0票数 0

我在CircleCI中使用Rubocop。并且它被配置为忽略db文件夹。但它仍然会带着例外情况回来。我在CI中使用了一个自定义的rake任务,这可能是原因。我如何修改它,使其忽略那些排除的文件/目录?

rubocop.rake

代码语言:javascript
复制
# frozen_string_literal: true
namespace :rubocop do
  require 'rubocop/rake_task'

  desc 'Run RuboCop on entire project'
  RuboCop::RakeTask.new('all') do |task|
    task.fail_on_error = true
  end

  desc 'Run RuboCop on the project based on git diff(DIFF_BRANCH environment variable)'
  RuboCop::RakeTask.new('git_diff') do |task|
    task.patterns = patterns_for_changed_files
    task.fail_on_error = true
  end

  def changed_files
    diff_branch = ENV['DIFF_BRANCH'] || 'staging'
    cmd = %(git diff-tree -r --no-commit-id --diff-filter=M --name-only HEAD origin/#{diff_branch})
    diff = `#{cmd}`
    diff.split "\n"
    # diff.gsub!(/^(db\/|vendor\/|tmp\/|lib\/|test\/|bin\/)/, '').split "\n"
  end

  def patterns_for_changed_files
    patterns = []
    patterns + changed_files
  end
end

.rubocop.yml

代码语言:javascript
复制
AllCops:
  Exclude:
    - 'vendor/**/*'
    - 'tmp/**/*'
    - 'lib/**/*'
    - 'test/**/*'
    - 'bin/*'
    - 'config/**/*.yml'
    - 'db/**/*'
    - 'db/schema.rb'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-20 03:22:04

如果你从Rake任务运行Rubocop,这是预期的行为。另请参阅此related issue on Github

就我个人而言,我建议从带有命令行参数的shell脚本运行它。要实现对更改的文件的检查,您可以结合使用prontopronto-rubocop

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59415622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档