Merge pull request #14818 from issyl0/rubocop-documentation
rubocop: Only enable `Style/Documentation` for `@api public` code
This commit is contained in:
commit
a2b488cd10
13
.github/workflows/tests.yml
vendored
13
.github/workflows/tests.yml
vendored
@ -46,6 +46,19 @@ jobs:
|
||||
|
||||
- run: brew typecheck
|
||||
|
||||
- name: Check RuboCop filepaths
|
||||
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}/Library/Homebrew
|
||||
run: |
|
||||
public_apis=$(git grep -l "@api public" | wc -l | tr -d ' ')
|
||||
rubocop_docs=$(yq '.Style/Documentation.Include' .rubocop.yml | wc -l | tr -d ' ')
|
||||
if [[ public_apis -ne rubocop_docs ]]
|
||||
then
|
||||
echo "All public Homebrew APIs should be included in the Style/Documentation RuboCop."
|
||||
echo "There were ${public_apis} '@api public' lines but ${rubocop_docs} filepaths for the 'Style/Documentation' RuboCop."
|
||||
echo "Add or remove the filepaths from Library/Homebrew/.rubocop.yml as appropriate."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tap-syntax:
|
||||
name: tap syntax
|
||||
needs: syntax
|
||||
|
||||
@ -359,7 +359,7 @@ Style/DisableCopsWithinSourceCodeDirective:
|
||||
- "/**/{Formula,Casks}/**/*.rb"
|
||||
- "**/{Formula,Casks}/**/*.rb"
|
||||
|
||||
# Don't enforce documentation in casks or formulae.
|
||||
# The files actually scanned in this cop are in `Library/Homebrew/.rubocop.yml`.
|
||||
Style/Documentation:
|
||||
Exclude:
|
||||
- "Taps/**/*"
|
||||
|
||||
@ -17,27 +17,48 @@ Naming/PredicateName:
|
||||
- is_32_bit?
|
||||
- is_64_bit?
|
||||
|
||||
# Only enforce documentation for public APIs.
|
||||
# Checked by the tests.yml syntax job
|
||||
Style/Documentation:
|
||||
AllowedConstants:
|
||||
- Homebrew
|
||||
Exclude:
|
||||
- "extend/**/*.rb"
|
||||
- "test/**/*.rb"
|
||||
- "cask/macos.rb"
|
||||
- "cli/args.rb"
|
||||
- "cli/parser.rb"
|
||||
- "cmd/list.rb"
|
||||
- "cmd/update-report.rb"
|
||||
- "dev-cmd/irb.rb"
|
||||
- "dev-cmd/pr-pull.rb"
|
||||
- "keg_relocate.rb"
|
||||
- "os/mac/keg.rb"
|
||||
- "software_spec.rb"
|
||||
- "utils.rb"
|
||||
- "utils/fork.rb"
|
||||
- "utils/git_repository.rb"
|
||||
- "utils/popen.rb"
|
||||
- "utils/shell.rb"
|
||||
Include:
|
||||
- cask/dsl.rb
|
||||
- cask/dsl/version.rb
|
||||
- cask/url.rb
|
||||
- download_strategy.rb
|
||||
- extend/kernel.rb
|
||||
- formula.rb
|
||||
- formula_assertions.rb
|
||||
- formula_free_port.rb
|
||||
- language/go.rb
|
||||
- language/java.rb
|
||||
- language/node.rb
|
||||
- language/perl.rb
|
||||
- language/python.rb
|
||||
- livecheck/strategy/apache.rb
|
||||
- livecheck/strategy/bitbucket.rb
|
||||
- livecheck/strategy/cpan.rb
|
||||
- livecheck/strategy/extract_plist.rb
|
||||
- livecheck/strategy/git.rb
|
||||
- livecheck/strategy/github_latest.rb
|
||||
- livecheck/strategy/gnome.rb
|
||||
- livecheck/strategy/gnu.rb
|
||||
- livecheck/strategy/hackage.rb
|
||||
- livecheck/strategy/json.rb
|
||||
- livecheck/strategy/launchpad.rb
|
||||
- livecheck/strategy/npm.rb
|
||||
- livecheck/strategy/page_match.rb
|
||||
- livecheck/strategy/pypi.rb
|
||||
- livecheck/strategy/sourceforge.rb
|
||||
- livecheck/strategy/sparkle.rb
|
||||
- livecheck/strategy/xorg.rb
|
||||
- os.rb
|
||||
- resource.rb
|
||||
- utils/inreplace.rb
|
||||
- utils/shebang.rb
|
||||
- utils/string_inreplace_extension.rb
|
||||
- version.rb
|
||||
|
||||
Style/HashAsLastArrayItem:
|
||||
Exclude:
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
# typed: false
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Contains shorthand Homebrew utility methods like `ohai`, `opoo`, `odisabled`.
|
||||
# TODO: move these out of `Kernel`.
|
||||
module Kernel
|
||||
extend T::Sig
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ describe Homebrew::Style do
|
||||
describe ".check_style_and_print" do
|
||||
let(:dir) { mktmpdir }
|
||||
|
||||
it "returns false for conforming file with only audit-level violations" do
|
||||
it "returns true (success) for conforming file with only audit-level violations" do
|
||||
# This file is known to use non-rocket hashes and other things that trigger audit,
|
||||
# but not regular, cop violations
|
||||
target_file = HOMEBREW_LIBRARY_PATH/"utils.rb"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user