431 Commits

Author SHA1 Message Date
Rylan Polster
9520eabc35 style: enforce ISO-8601 in deprecation date 2020-06-26 11:53:42 -04:00
Frank Lam
644ae115f5
Prepare inline patch specs 2020-06-25 22:29:34 +08:00
Mike McQuaid
ac0665daff
Refer to default branch in links with HEAD
Anywhere we can use `blob/master` we can use `blob/HEAD` instead. This
will make life easier if we ever rename our default branch in future
(once/if Git and GitHub provides the necessary tooling to do so).
2020-06-25 11:38:40 +01:00
Rylan Polster
0faf17b1e6 use safe_popen_read instead of popen_read
RuboCop requires using Utils.safe_popen_read and Utils.safe_popen_write
instead of Utils.popen_read and Utils.popen_write respectively.

Using the "safe" version means that an error will be shown if the
command fails. Previously, when using `popen_read`, a failed command can
go unnoticed and have negative consequences that go undetected (as
happened for pipend in
https://github.com/Homebrew/homebrew-core/pull/55682)

RuboCop does not require Utils.safe_popen_read in a test do block
because there can be some legitimate uses for Utils.popen_read in these
cases.
2020-06-23 13:57:33 -04:00
Dario Vladovic
8a62f891e1
formula: add std_cargo_args 2020-06-22 14:39:49 +02:00
Issy Long
0041ea21f5
Change occurrences of "whitelist" to "allowlist" 2020-06-06 22:38:32 +01:00
Michka Popoff
c494528f15 on_os_blocks: add audit 2020-06-04 17:36:28 +02:00
Mike McQuaid
aa81982aba
brew style --fix 2020-06-02 09:49:23 +01:00
Mike McQuaid
ca47992a6c
Fix rubocop-performance brew style. 2020-05-22 08:52:26 +01:00
Mathäus Zingerle
bb9665ced8 Migrate scheme checks for cvs, bzr, hg, fossil, and svn+http to Rubocop 2020-05-20 20:52:00 -05:00
Mathäus Zingerle
82ba0475ad audit: Port version checks that do not rely on Formula state to RuboCop and add tests 2020-05-18 10:12:13 -05:00
nandahkrishna
a4f9a66406
livecheck: add component order rubocop 2020-05-15 19:00:14 +05:30
vidusheeamoli
f851688541 audit: Port audit_keg_only to rubocop and add tests
audit: add test

audit: fixed test

audit: added another test case

audit: fix test

audit: fix test

audit: fix keg only
2020-05-05 10:47:49 +05:30
Mike McQuaid
8eed72cd8b
Move file mode audit to RuboCop. 2020-04-18 15:44:24 +01:00
Mike McQuaid
ea77fce409
rubocops/lines: move strict cop. 2020-04-13 16:01:25 +01:00
Mike McQuaid
9b5a0767cb
rubocops/formula_desc: merge cops, slim whitelist. 2020-04-13 16:01:25 +01:00
Mike McQuaid
476a61f51c
rubocops/class: rename, move cops, readd strict. 2020-04-13 16:01:25 +01:00
Mike McQuaid
b75733f1bd
rubocops: downgrade strict cops (passing in core). 2020-04-12 14:17:06 +01:00
Mike McQuaid
56c02485e0
rubocops: test whitelists. 2020-04-12 14:17:05 +01:00
Issy Long
857393ccfb
Audit correct uses_from_macos usage with RuboCop
- This builds on @jonchang's work that started in #6265.
- We now use `uses_from_macos` to declare dependencies that are implicit
  on macOS because they ship with macOS, but they're needed on Linux. We
  have to be sure that the dependencies people specify as
  `uses_from_macos` are actually shipped with macOS. So, we maintain a
  safelist of those dependencies and check against it.
- Also add more legitimate `uses_from_macos` dependencies to the list.
- This is runnable with `brew audit --only-cops=FormulaAudit/UsesFromMacos`.
- It produces different number of failures on macOS vs. Linux, because
  apparently we've not synced Homebrew/linuxbrew-core upstream thoroughly
  enough yet.
- Originally this was designed as a `--strict` audit, but we flipped it
  to be a normal audit because - to quote Mike - this is "sufficiently
  robust" now.
2020-04-06 13:42:27 +01:00
Alexander Bayandin
b37c3e9cb2 rubocops/patches: suggest url with full_index=1 2020-03-15 11:24:38 +00:00
EricFromCanada
29006396dd audit: check apache.org URLs 2020-02-24 13:07:46 -05:00
Gautham Goli
acde828a45 ARGV: Replace ARGV.verbose? with Homebrew.args.verbose? 2020-02-02 14:00:04 +01:00
Mike McQuaid
6bc72cf18a
rubocop/lines: add whitelist.
Let's only allow cryto or libraries.
2020-01-29 12:17:21 +00:00
Jonathan Chang
abf2b83b35 audit: add uses_from_macos dependency ordering 2020-01-12 11:12:27 -08:00
Jonathan Chang
cf66c05d87 audit: avoid build-time checks in core
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2020-01-11 09:48:54 -08:00
Jonathan Chang
9634041f82 audit: unnecessary comments from external taps
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2020-01-11 09:44:20 -08:00
Jonathan Chang
7239b3099a audit: check for build.with? in core
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
2020-01-11 09:37:10 -08:00
Jonathan Chang
779304df68 audit: add "homebrew/core" for relevant checks 2020-01-08 15:38:48 -05:00
Mike McQuaid
76711e3222
Fix Rubocop 0.78.0 failures. 2019-12-19 12:01:51 +00:00
Issy Long
1f6168fe8a
Change regexp.match?(string) to string.match?(regexp) everywhere
- Only try to call `.match?` on strings that aren't nil.
2019-10-13 23:22:51 +01:00
Issy Long
fed1bbe029
Disable Metrics/LineLength for long URL lines in patches_spec.rb
- The final two `brew style` offenses were for Metrics/LineLength where
  parsing the GitHub diff URL as a regex took 119/118 lines.
- This disables the cop for each of those long, problematic lines, and
  re-enables them straight afterwards, else they'd apply to the whole file
  from the first occurrence onwards, which we probably don't want?
- I wondered about increasing the LineLength limit to 119 or 120, but
  it appears to have been set for a justifiable reason in 80d75bc0d8.
2019-10-13 16:04:37 +01:00
Issy Long
b78028b9c2
Auto-fix Performance/RegexpMatch offenses 2019-10-13 16:04:26 +01:00
Mike McQuaid
e3ee64a5fd
Ruby 2.6.3 brew tests fixes 2019-10-10 16:17:06 +01:00
Markus Reiter
b1d0c61fea Update Gems. 2019-10-03 09:22:44 +02:00
Mike McQuaid
4add1d1cb3
Check binary URL resources with RuboCop
- Migrate the existing binary URL audit to a RuboCop.
- Check resources as well as main URLs
- Also check for "macos" and "osx" in URLs
- Add whitelists for URLs and formulae
2019-09-02 10:50:49 +01:00
Izaak Beekman
75bc30bfff
Limit veclibfort & lapack cop to core & add tests 2019-06-06 18:09:44 -04:00
Izaak Beekman
65fbcc86d0
Add test for MPI choice cop's autocorrect 2019-06-06 16:46:17 -04:00
Izaak Beekman
ffe30058ab
Add MPICH cop and test
- Split off from PR Homebrew/brew#6209
 - Create stand alone class for cop w/ auto-correct
2019-06-06 16:28:54 -04:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
EricFromCanada
89f0fcedbe whitespace fixes 2019-04-13 21:32:04 -04:00
EricFromCanada
fa6404e0f5 grammar fixes 2019-04-13 21:29:32 -04:00
Mike McQuaid
75257886f2
Cleanup some RSpec tests
Fix some Rubocop RSpec checks, update some values and improve
documentation.
2019-03-28 19:16:56 +00:00
Mike McQuaid
fd4e45c688
lines_spec: fix a typo. 2019-01-30 21:59:55 +00:00
Mike McQuaid
1aa8ad09e2
Deprecate macOS versions below Mavericks
And remove all dead/unneeded code.
2019-01-27 12:27:47 +00:00
Mike McQuaid
db7fd7b7a2
Tweak audits
- Ensure that new formulae problems aren't duplicated
- Now that homebrew/core will imminently not have options adjust the
  various audits so they make more sense (and exclude taps)
- Exclude taps from more preferential audits
2019-01-22 13:30:24 +00:00
Mike McQuaid
170c5493a4
Update deprecations
- Add some `odeprecated`
- Make some `odeprecated` now `odisabled`
- Remove `odisabled` code.
- Remove old update migrations
- Remove GCC 4.0 compiler
- Remove Tiger-only code
- Remove 32-bit-only code
- Remove use of LD64
- Remove GCC 4.3 - 4.8 support.
2019-01-08 19:13:46 +00:00
Mike McQuaid
b917cccf19
rubocops: remove scons audit.
This will be deprecated in #5477.
2019-01-06 14:41:37 +00:00
Claudia
5be80a78f6
Use Homebrew-controlled domain for Cask dummy URLs
In a number of Cask specs, the value of the `homepage` stanza is currently set
to https://example.com. As of 2018-11-28, the TLS certificate served by
example.com seems to be expired, possibly due to an oversight on ICANN’s side.

While the certificate is certainly going to be renewed soon, it would be
desirable for Homebrew’s test result to be less dependent on ICANN’s actions.
This commit changes the homepages of all test Casks to http://brew.sh, whose
domain and TLS certificate are both controlled by Homebrew.
2018-11-28 20:51:55 +01:00
Mike McQuaid
491ceb6c4c
Import rubocop-cask (with clean brew style) 2018-11-08 15:54:46 +00:00