189 Commits

Author SHA1 Message Date
Mike McQuaid
3a08f81470 audit: fix pypi strict audit capture group. 2017-06-03 20:25:12 +01:00
Mike McQuaid
1d034265af Merge pull request #2726 from MikeMcQuaid/audit-pypi-urls
audit: check pypi URLs
2017-06-03 10:01:22 +01:00
Mike McQuaid
d6c4dfc783 Merge pull request #2725 from MikeMcQuaid/audit-formulae-options-fix
audit: fix false negative for formulae options.
2017-06-03 10:01:10 +01:00
Mike McQuaid
cbfc83309f audit: check pypi URLs
#373 implemented as a strict check (thanks nijikon)
2017-06-02 22:28:07 +01:00
Mike McQuaid
6a0086a0a7 audit: fix false negative for formulae options.
Handle the case where an if/unless is detected and then write off this
line for option handling.
2017-06-02 22:26:37 +01:00
Markus Reiter
2d6ae61314 Re-revert "Fix operator spacing." 2017-06-02 19:22:05 +02:00
Gautham Goli
cf848a14d2 audit: Port audit_caveats method to rubocop and add tests 2017-05-31 22:59:48 +05:30
Gautham Goli
51f2338dd5 audit: Port audit_text method to rubocop and add tests 2017-05-30 15:28:05 +05:30
Mike McQuaid
7a38bab333 Fixup all RuboCop warnings. 2017-05-29 18:43:18 +01:00
JCount
dd5d4880dc Merge pull request #2658 from JCount/audit-fix-versioned-aliases-homebrew-core
audit: fix versioned alias errors in homebrew/core introduced in a7c6a57
2017-05-21 21:54:17 -04:00
Markus Reiter
473bdadbcd Change error messages. 2017-05-22 02:04:02 +02:00
Markus Reiter
330307b01a Use FormulaVersions for checksum check. 2017-05-22 02:01:57 +02:00
Markus Reiter
ade62aa1b1 Add the same check for Formulae. 2017-05-22 02:01:57 +02:00
JCount
aa81f56356 audit: fix versioned alias errors in homebrew/core introduced in a7c6a57
This fixes #2657 which in turn were caused by an oversight in #2664
2017-05-21 12:00:56 -04:00
Mike McQuaid
a7c6a57c8e Merge pull request #2644 from JCount/audit-fix-tap-versioned-aliases
audit: fix full versioned alias name resolution in taps
2017-05-20 10:57:30 +01:00
Markus Reiter
f0dc1d96c5 Merge pull request #2537 from reitermarkus/pathname-to_str
Remove `to_s` from some `Pathname`s.
2017-05-18 09:39:07 +02:00
JCount
cd8d7a8a44 audit: fix full versioned alias name resolution in taps
This fixes an issue where audit would prompt for the creation
of an already existing versioned alias while at the same time
declaring the existing alias invalid.
2017-05-17 15:18:59 -04:00
Mike McQuaid
ea8be174f6 Merge pull request #2631 from GauthamGoli/audit_homepage_rubocop
audit: Port audit_homepage method to rubocop and add tests
2017-05-15 10:02:47 +01:00
Gautham Goli
91efcb045e Port audit_homepage method to rubocop and add tests 2017-05-14 22:05:46 +05:30
Mike McQuaid
75d230318a Merge pull request #2627 from MikeMcQuaid/audit-fix-option-detection
audit: fix dependency option detection.
2017-05-14 15:09:07 +01:00
Mike McQuaid
d5006ef012 audit: fix dependency option detection.
Instead of trying to do this all with a single regex give up and do a
two stage process. Eventually I'll end up implementing a full ruby
parser here 🧌.
2017-05-13 13:00:00 +01:00
Mike McQuaid
b14f1572b7 audit: more checks for versioned aliases.
Check that a required versioned alias has a valid name (rather than
assuming it’s fine based on it’s existence alone) and check for
the presence of invalid version aliases.

This should handle the case where someone bumps a formula but forgets
to rename the alias that’s mentioned in #2596.
2017-05-09 15:10:29 +01:00
Markus Reiter
5828eefd01 Remove to_s from some Pathnames. 2017-05-08 13:37:28 +02:00
Mike McQuaid
57db2e539e Revert "Merge pull request #2597 from MikeMcQuaid/vendor-gems"
This reverts commit 3e4547f52e7ebec633f8bfefc8a396d944edf908, reversing
changes made to 6edf9382bcc1240ad6f97c8b752cfe56cef9965d.
2017-05-07 17:28:39 +01:00
Mike McQuaid
ee253e465b Vendor all Homebrew's gems.
Homebrew's actually ended up using a fair few gems. While we want to
avoid Bundler at runtime (and this PR still does that, in fact uses
Bundler even less at runtime than it did before) writing our own version
to use at build-time seems redundant.
2017-05-07 13:52:57 +01:00
Mike McQuaid
555505ec54 Merge pull request #2531 from GauthamGoli/audit_cops_options_refactor
audit: Allow skipping/selective running of cops and cops refactor
2017-05-03 11:28:25 +01:00
Gautham Goli
fed668b330 Add --only-cops,--except-cops options for brew style and simplify cop names 2017-05-03 14:49:23 +05:30
Dominyk Tiller
9aeb8f0f0b
audit: match start of string, not line 2017-05-02 19:30:41 +01:00
Dominyk Tiller
80483c0206
audit: whitelist 'Firefox' in keg_only_style 2017-05-02 19:05:56 +01:00
Gautham Goli
c3330c289d Add --only-cops,--except-cops options for brew audit
Also refactor audit cops into two "departments"
 - FormulaAudit
 - FormulaAuditStrict
2017-05-02 23:26:12 +05:30
Gautham Goli
a4568a8697 Let cops run without --strict flag 2017-05-02 23:14:44 +05:30
Dominyk Tiller
85053b1476
audit: add audit_keg_only_style 2017-05-01 19:22:34 +01:00
Dominyk Tiller
2ad43cb1fd
audit: formally ban go get usage
There's been an informal ban for a while but let's
be punchier because this crops up still.
2017-04-28 17:38:01 +01:00
Mike McQuaid
1c9cfb2419 audit: tweak dependency option audit.
Make sure that `if build.with?` isn't caught.
2017-04-27 16:30:05 +01:00
Mike McQuaid
5647fdb2f9 audit: fix audit of new formulae.
When auditing new formulae without `--new-formula` the
`audit_revision_and_version_scheme` method fails ungracefully. Instead,
set some better defaults so fewer checks are needed.

Fixes #2551.
2017-04-26 11:33:13 +01:00
Mike McQuaid
b2a291529d audit: fix use of search_tap method.
This was removed in #2540 but this call site was note updated to use
the `search_taps` method instead.
2017-04-25 12:08:50 +01:00
Mike McQuaid
ceb1629ad7 Merge pull request #2465 from GauthamGoli/audit_components_port_rubocop
audit: audit_components method to rubocops and tests
2017-04-24 10:06:41 +01:00
Mike McQuaid
d5155256ce Fix audit version_scheme and revision checks.
Another attempt at fixing `brew audit` issues around detecting
`revision` and `version_scheme` changes correctly. First done in #1754
and #2086 (reverted in #2099 and #2100).

To ease future debugging a `ph` helper has been added to print a hash
and a series of RSpec tests to verify that the `revision`,
`version_scheme` and `version` formula version audits behave as
expected.

Fixes #1731.
2017-04-23 18:56:22 +01:00
Gautham Goli
413a7e5dae Port audit_components method to rubocops and add corresponding tests 2017-04-22 21:53:16 +05:30
Mike McQuaid
5c82e0d552 Merge pull request #2526 from MikeMcQuaid/audit-gnu-mirror-flip
audit: flip GNU mirror preference.
2017-04-22 16:54:50 +01:00
Mike McQuaid
94ef7318ae audit: flip GNU mirror preference.
Now that both the primary and mirror URLs use HTTPS we can flip these
around so the primary URL is the primary URL and we don't have problems
with waiting for mirror propagation.
2017-04-22 13:10:03 +01:00
Mike McQuaid
185b1787c6 audit: lookup unversioned formulae with Formulary.
This means that if e.g. the unversioned formulae exists in another tap
this audit won't produce a false positive.
2017-04-22 13:00:38 +01:00
Mike McQuaid
fdcffb25a9 Merge pull request #2482 from MikeMcQuaid/audit-dependency-options
audit: ensure default dependencies don't use options.
2017-04-22 11:07:16 +01:00
Mike McQuaid
3011cbac34 audit: ensure dependencies don't use options.
Option dependencies are nasty as they cause unnecessary builds from
source.
2017-04-21 18:24:10 +01:00
Mike McQuaid
1775c32210 audit: new formulae should not require patches.
We may under some circumstances accept these anyway but it's better to
nudge people into the right behaviours on local `audit`s.
2017-04-21 18:23:55 +01:00
Steven Peters
3982d24d8b audit: fix swapped audit messages 2017-04-19 10:59:11 -07:00
Mike McQuaid
3f8722c971 audit: allow skipping audit methods.
Add `--only` and `--except` methods which can be used to selectively
enable or disable audit groups.
2017-04-18 08:17:26 +01:00
Mike McQuaid
417f49dd32 Merge pull request #2477 from MikeMcQuaid/audit-more-universal
audit: check for more universal usage.
2017-04-17 15:50:21 +01:00
Mike McQuaid
29b54dc16d Merge pull request #2473 from MikeMcQuaid/audit-language-module-requirements
audit: deprecate language module requirements.
2017-04-17 14:20:51 +01:00
Mike McQuaid
88a75af1c3 audit: don't recommend version aliases on --devel.
As requested in #11462 by @neutric as this produces confusing,
incorrect output.
2017-04-10 19:03:44 -07:00