diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 5171ec7112..5827c054cb 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -1,15 +1,19 @@ -#: * `audit` [`--strict`] [`--online`] [`--display-cop-names`] [`--display-filename`] []: +#: * `audit` [`--strict`] [`--online`] [`--new-formula`] [`--display-cop-names`] [`--display-filename`] []: #: Check for Homebrew coding style violations. This should be #: run before submitting a new formula. #: #: If no are provided, all of them are checked. #: #: If `--strict` is passed, additional checks are run, including RuboCop -#: style checks. This should be used when creating new formulae. +#: style checks. #: #: If `--online` is passed, additional slower checks that require a network -#: connection are run. This should be used when creating for new formulae. -#: +#: connection are run. +# +#: If `--new-formula` is passed, various additional checks are run that check +#: if a new formula is eligable for Homebrew. This should be used when creating +#: new formulae and implies `--strict` and `--online`. +# #: If `--display-cop-names` is passed, the RuboCop cop name for each violation #: is included in the output. #: @@ -43,9 +47,10 @@ module Homebrew formula_count = 0 problem_count = 0 - strict = ARGV.include? "--strict" + new_formula = ARGV.include? "--new-formula" + strict = new_formula || ARGV.include?("--strict") style = strict && RUBY_2_OR_LATER - online = ARGV.include? "--online" + online = new_formula || ARGV.include?("--online") ENV.activate_extensions! ENV.setup_build_environment @@ -63,7 +68,7 @@ module Homebrew end ff.each do |f| - options = { :strict => strict, :online => online } + options = { :new_formula => new_formula, :strict => strict, :online => online } options[:style_offenses] = style_results.file_offenses(f.path) if style fa = FormulaAuditor.new(f, options) fa.audit @@ -150,6 +155,7 @@ class FormulaAuditor def initialize(formula, options = {}) @formula = formula + @new_formula = !!options[:new_formula] @strict = !!options[:strict] @online = !!options[:online] # Accept precomputed style offense results, for efficiency @@ -534,6 +540,7 @@ class FormulaAuditor def audit_github_repository return unless @online + return unless @new_formula regex = %r{https?://github\.com/([^/]+)/([^/]+)/?.*} _, user, repo = *regex.match(formula.stable.url) if formula.stable diff --git a/Library/Homebrew/cmd/create.rb b/Library/Homebrew/cmd/create.rb index ed71a6d398..9be990318d 100644 --- a/Library/Homebrew/cmd/create.rb +++ b/Library/Homebrew/cmd/create.rb @@ -85,7 +85,7 @@ module Homebrew fc.generate! - puts "Please `brew audit --strict #{fc.name}` before submitting, thanks." + puts "Please `brew audit --new-formula #{fc.name}` before submitting, thanks." exec_editor fc.path end diff --git a/Library/Homebrew/dev-cmd/test-bot.rb b/Library/Homebrew/dev-cmd/test-bot.rb index c7309b114b..0c1beeca21 100644 --- a/Library/Homebrew/dev-cmd/test-bot.rb +++ b/Library/Homebrew/dev-cmd/test-bot.rb @@ -445,7 +445,7 @@ module Homebrew fetch_args << "--force" if ARGV.include? "--cleanup" audit_args = [formula_name] - audit_args << "--strict" << "--online" if @added_formulae.include? formula_name + audit_args << "--new-formula" if @added_formulae.include? formula_name if formula.stable unless satisfied_requirements?(formula, :stable) diff --git a/share/doc/homebrew/brew.1.html b/share/doc/homebrew/brew.1.html index 007edd11cd..ad1b1f3920 100644 --- a/share/doc/homebrew/brew.1.html +++ b/share/doc/homebrew/brew.1.html @@ -39,18 +39,20 @@ If no search term is given, all locally available formulae are listed.

Read more at https://git.io/brew-analytics.

analytics (on|off)

Turn on/off Homebrew's analytics.

analytics regenerate-uuid

Regenerate UUID used in Homebrew's analytics.

-
audit [--strict] [--online] [--display-cop-names] [--display-filename] [formulae]

Check formulae for Homebrew coding style violations. This should be +

audit [--strict] [--online] [--new-formula] [--display-cop-names] [--display-filename] [formulae]

Check formulae for Homebrew coding style violations. This should be run before submitting a new formula.

If no formulae are provided, all of them are checked.

If --strict is passed, additional checks are run, including RuboCop -style checks. This should be used when creating new formulae.

+style checks.

If --online is passed, additional slower checks that require a network -connection are run. This should be used when creating for new formulae.

- -

If --display-cop-names is passed, the RuboCop cop name for each violation +connection are run. +If --new-formula is passed, various additional checks are run that check +if a new formula is eligable for Homebrew. This should be used when creating +new formulae and implies --strict and --online. +If --display-cop-names is passed, the RuboCop cop name for each violation is included in the output.

If --display-filename is passed, every line of output is prefixed with the diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index b235f76621..8777111038 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW" "1" "July 2016" "Homebrew" "brew" +.TH "BREW" "1" "August 2016" "Homebrew" "brew" . .SH "NAME" \fBbrew\fR \- The missing package manager for OS X @@ -56,20 +56,17 @@ Turn on/off Homebrew\'s analytics\. Regenerate UUID used in Homebrew\'s analytics\. . .TP -\fBaudit\fR [\fB\-\-strict\fR] [\fB\-\-online\fR] [\fB\-\-display\-cop\-names\fR] [\fB\-\-display\-filename\fR] [\fIformulae\fR] +\fBaudit\fR [\fB\-\-strict\fR] [\fB\-\-online\fR] [\fB\-\-new\-formula\fR] [\fB\-\-display\-cop\-names\fR] [\fB\-\-display\-filename\fR] [\fIformulae\fR] Check \fIformulae\fR for Homebrew coding style violations\. This should be run before submitting a new formula\. . .IP If no \fIformulae\fR are provided, all of them are checked\. . .IP -If \fB\-\-strict\fR is passed, additional checks are run, including RuboCop style checks\. This should be used when creating new formulae\. +If \fB\-\-strict\fR is passed, additional checks are run, including RuboCop style checks\. . .IP -If \fB\-\-online\fR is passed, additional slower checks that require a network connection are run\. This should be used when creating for new formulae\. -. -.IP -If \fB\-\-display\-cop\-names\fR is passed, the RuboCop cop name for each violation is included in the output\. +If \fB\-\-online\fR is passed, additional slower checks that require a network connection are run\. If \fB\-\-new\-formula\fR is passed, various additional checks are run that check if a new formula is eligable for Homebrew\. This should be used when creating new formulae and implies \fB\-\-strict\fR and \fB\-\-online\fR\. If \fB\-\-display\-cop\-names\fR is passed, the RuboCop cop name for each violation is included in the output\. . .IP If \fB\-\-display\-filename\fR is passed, every line of output is prefixed with the name of the file or formula being audited, to make the output easy to grep\.