Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rubocop忽略.Rubocop.yml中指定的排除项_Ruby_Git_Rubocop - Fatal编程技术网

Ruby Rubocop忽略.Rubocop.yml中指定的排除项

Ruby Rubocop忽略.Rubocop.yml中指定的排除项,ruby,git,rubocop,Ruby,Git,Rubocop,我在CircleCI使用Rubocop。它被配置为忽略db文件夹。但它仍在以例外的方式卷土重来。我在CI中使用的自定义rake任务可能就是原因。如何修改它以使其忽略那些排除的文件/目录 鲁博科普耙 .rubocop.yml 如果从Rake任务运行rubocp,这是预期的行为。也看到这个 我个人建议用带命令行参数的shell脚本来运行它。 要实现对已更改文件的检查,您可以结合使用。我认为这不是我想要的。如果发现异常,我希望构建失败。不要留下评论。这也会使构建失败-评论是可选的。 # frozen_

我在CircleCI使用Rubocop。它被配置为忽略db文件夹。但它仍在以例外的方式卷土重来。我在CI中使用的自定义rake任务可能就是原因。如何修改它以使其忽略那些排除的文件/目录

鲁博科普耙 .rubocop.yml
如果从Rake任务运行rubocp,这是预期的行为。也看到这个

我个人建议用带命令行参数的shell脚本来运行它。
要实现对已更改文件的检查,您可以结合使用。

我认为这不是我想要的。如果发现异常,我希望构建失败。不要留下评论。这也会使构建失败-评论是可选的。
# 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
AllCops:
  Exclude:
    - 'vendor/**/*'
    - 'tmp/**/*'
    - 'lib/**/*'
    - 'test/**/*'
    - 'bin/*'
    - 'config/**/*.yml'
    - 'db/**/*'
    - 'db/schema.rb'