48 Commits

Author SHA1 Message Date
Sam Ford
17b0493e18
Use struct for #audit_formula args
Adding type signatures to `#audit_formula` methods in formula cops
would lead to verbose, repetitive signatures across the existing ~63
instances. This reworks `#audit_formula` to use a `T::Struct` for its
arguments, which allows us to use a one-line signature for these
methods.
2024-07-08 12:22:25 -04:00
Issy Long
9f915a6a62
Replace FormulaTextAuditor usage
- Only two audits were using this: `audit_keg_only_reason` and `audit_text`,
  and they weren't using any of its text processing methods, so there's little
  reason to keep it around.
- The "`keg_only_reason` shouldn't contain 'HOMEBREW_PREFIX'" audit can easily
  be replaced with a RuboCop since that's "just" text parsing.
- The "tests should invoke binaries with `bin/<command>`" audit had to stay as
  a FormulaAudit because it requires accessing attributes about the Formula
  like its name, aliases, which RuboCop can't get to, but it was easy to move the
  singular "read the text in the file" line from `FormulaTextAuditor`.
2024-05-04 22:14:55 +01:00
Markus Reiter
0f0055ede4
Make documentation @api private by default. 2024-04-26 19:04:20 +02:00
Mike McQuaid
ea2892f8ee
brew.rb: handle missing args. 2024-03-07 16:20:20 +00:00
Bo Anderson
b42256d286
Deprecate, disable & delete code for Homebrew 4.2.0 2023-12-07 23:42:13 +00:00
Issy Long
5ddebe1640
rubocops/text: Declare "revision 0" in formulae as unnecessary
- This came up in a user contribution recently so here's a RuboCop for it.
2023-10-04 23:28:30 +01:00
Dawid Dziurla
b4366b61ef
audit: check for cargo build only in install method 2023-08-18 11:20:56 +02:00
Douglas Eichelberger
08af78a2a5 brew style --fix 2023-04-25 09:26:24 -07:00
Douglas Eichelberger
387d2f859f Use exclude_from_registry instead 2023-02-20 18:14:47 -08:00
Douglas Eichelberger
d9db5e8825 Refactor FormulaCop as a mixin 2023-02-20 18:14:47 -08:00
Douglas Eichelberger
6c93f6fe91 Enable typing in rubocops 2023-02-16 15:51:20 -08:00
Bo Anderson
6ede5d2dd5
rubocops: handle empty formula body in various cops 2022-11-05 04:40:16 +00:00
Carlo Cabrera
f05e57f414
Merge pull request #12823 from carlocab/setuptools-audit
rubocops/text: remove `setuptools` audit
2022-02-01 16:57:57 +08:00
Carlo Cabrera
bc67c05528
rubocops/text: remove setuptools audit
This currently no longer applies, because we might sometimes need an
older `setuptools` than the one shipped with a Python formula.

This is needed for Homebrew/homebrew-core#93964.
2022-02-01 15:26:50 +08:00
Roland Crosby
d8df9c2ee9 Allow cargo build --lib
When building Rust packages that provide libraries but no executable
binaries, `cargo install` doesn't do anything; you need to use `cargo
build` and install any libraries manually. See e.g.
rust-lang/cargo#8294.

Unfortunately, Homebrew's Rubocop "use cargo install *std_cargo_args"
rule, as currently written, blocks all invocations of `cargo build`.
This commit changes that rule to exclude invocations of `cargo build`
that use the `--lib` argument (`--lib` specifies to Cargo that a
package's library targets should be built). This will enable library
packages to be built while retaining the "use cargo install
*std_cargo_args" message for the more common case when a Rust package
provides executable binaries.
2022-01-31 21:11:22 -05:00
Dawid Dziurla
55244c845b
rubocops/text: forbid "go get" only in install method 2021-11-14 14:04:14 +01:00
Dean M Greer
ceeb5ea9ec audit: Remove SYMROOT
SYMROOT is only a valid argument when -project is used.

xcodebuild has other uses than building Xcode projects.
2021-05-13 08:07:06 -04:00
nandahkrishna
8e5451df2f
style: use parentheses for assignment in conditions 2021-02-12 18:33:37 +05:30
Jonathan Chang
3bda457478 rubocops/text: use rubocop v1 API 2021-01-12 19:11:43 +11:00
Mike McQuaid
d496f5c121
Deprecations for Homebrew 2.6.0
Do the usual deprecate/disable dance for the Homebrew 2.6.0 release.

Not to be merged until the next release will definitely be 2.6.0.
2020-11-24 16:44:02 +00:00
EricFromCanada
3768b7a6e9 apidoc: update comment wording, punctuation, formatting 2020-11-06 00:21:02 -05:00
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00
Markus Reiter
7719b4e1f0 Document FormulaAudit::Text. 2020-08-26 03:13:59 +02:00
Rylan Polster
936f4bbff4 refactor share path node matcher 2020-07-12 16:06:50 -04:00
Rylan Polster
d8fb850fa9 fix pkgshare missing slash issue 2020-07-12 14:20:50 -04:00
Rylan Polster
6119934efb style: refactor pkgshare cop 2020-07-12 12:12:36 -04:00
Rylan Polster
074f79840c style: refactor prefix path check 2020-07-12 12:12:36 -04:00
Rylan Polster
69e89d7a01 add TODOs for future refactoring 2020-07-10 15:08:20 -04:00
Rylan Polster
9e52712b08 style: don't need require "formula" 2020-07-10 11:17:37 -04:00
Rylan Polster
1859162735 style: use pkgshare instead of share/foo 2020-07-10 11:17:37 -04:00
Rylan Polster
792533462a style: don't use prefix + directory 2020-07-10 11:17:37 -04:00
Rylan Polster
b4a9565b8b style: require java dependency for JAVA_HOME 2020-07-10 11:17:37 -04:00
Rylan Polster
9ad342eba0 style: don't concatenate in string interpolation 2020-07-10 11:17:37 -04:00
Rylan Polster
63b81d847a style: env :userpaths is deprecated 2020-07-10 11:17:37 -04:00
Rylan Polster
1e943d7b6f style: env :std deprecated in homebrew-core 2020-07-10 11:17:37 -04:00
Rylan Polster
bd8805b14f style: separate make commands 2020-07-10 11:17:37 -04:00
Dario Vladovic
8a62f891e1
formula: add std_cargo_args 2020-06-22 14:39:49 +02:00
Mike McQuaid
604434566f
rubocops/text: whitelist goose. 2020-04-14 11:59:56 +01:00
Mike McQuaid
44c22dd7e3
rubocops/text: re-add strict cop. 2020-04-13 16:01:26 +01:00
Mike McQuaid
b75733f1bd
rubocops: downgrade strict cops (passing in core). 2020-04-12 14:17:06 +01:00
Mike McQuaid
fbeeae96ef
rubocops/text: check openssl and openssl@1.1. 2020-04-12 14:17:05 +01:00
Jonathan Chang
779304df68 audit: add "homebrew/core" for relevant checks 2020-01-08 15:38:48 -05:00
Mike McQuaid
11de7de49d
rubocops/text: fix long line. 2019-06-07 09:31:24 +01:00
Izaak Beekman
75bc30bfff
Limit veclibfort & lapack cop to core & add tests 2019-06-06 18:09:44 -04:00
Izaak Beekman
0cf8ec7547
Allow Accelerate linkage, deny veclibfort & lapack
- Accelerate provides more than just BLAS and LAPACK functionality, see
   https://developer.apple.com/documentation/accelerate
 - Veclibfort exists only to wrap Accelerate's BLAS/LAPACK
 - LAPACK is a slow, seldom updated reference implementation
 - Encourage usage of OpenBLAS
 - Reverts PR #6130
2019-05-23 19:07:17 -04:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
b917cccf19
rubocops: remove scons audit.
This will be deprecated in #5477.
2019-01-06 14:41:37 +00:00
Mike McQuaid
376eac2b8d
rubocops: rename files for consistency.
Make the filenames consistent with the class names.
2018-11-08 14:42:55 +00:00