39682 Commits

Author SHA1 Message Date
BrewTestBot
01564cf495
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2024-03-11 18:20:54 +00:00
BrewTestBot
34e01a037c
brew vendor-gems: commit updates. 2024-03-11 18:20:21 +00:00
dependabot[bot]
33ce77ab62
build(deps-dev): bump rubocop from 1.62.0 to 1.62.1 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.62.0 to 1.62.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.62.0...v1.62.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 18:19:19 +00:00
Michael Cho
c1aac260eb
Merge pull request #16870 from cho-m/docs-system-python-cleanup
docs: remove some system Python notes
2024-03-11 13:45:22 -04:00
Michael Cho
545b83095d
Merge pull request #16871 from cho-m/cleanup-dryrun-print-dirs
cleanup: track removed links & dirs during dry-run
2024-03-11 13:44:31 -04:00
Mike McQuaid
8215f3a283
Merge pull request #16855 from Homebrew/update_tweaks
Various `brew update` behaviour improvements
2024-03-11 16:59:13 +00:00
Mike McQuaid
72f2f1b2fd
Merge pull request #16868 from Homebrew/no-more-ronn
Replace ronn with Kramdown's converter
2024-03-11 16:54:56 +00:00
Bo Anderson
5582849ae7
Reproducible builds for native compiled binaries 2024-03-11 16:06:55 +00:00
Markus Reiter
780fbbc65e
Merge pull request #16873 from cho-m/cleaner-types
cleaner: add types
4.2.12
2024-03-11 16:57:48 +01:00
Michael Cho
2d884981c2
cleaner: add types
Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-11 11:46:23 -04:00
Michael Cho
a30f6c48f2
Merge pull request #16865 from cho-m/cask-audit-@
cask/audit: allow @ for versioned casks
2024-03-11 09:07:28 -04:00
apainintheneck
11b67e04c2 untap: add tests for finding formulae/casks in each tap
These are regression tests to make sure that this logic is reproducible.
If this logic is not working, it might mean that someone removes a tap
accidentally that still includes a formula or cask that they currently
have installed.

The tests are extravagant and over-engineered but I'm not sure that
there's an easier way to do this without massive integration tests.
2024-03-10 22:33:44 -07:00
apainintheneck
ff495a2e44 untap: add new module to make these refactored methods easier to test 2024-03-10 22:33:33 -07:00
apainintheneck
46a32f90c4 cmd/untap: refactor logic into methods to facilitate testing 2024-03-10 22:33:33 -07:00
apainintheneck
819af3cbdd cmd/untap: fix installed formula & cask check
This wasn't working before for a few reasons.

1. It never got past the installed name check because the
installed name sets had short names and the tap names were
long names including the tap namespace too. Now we just trim the
long name before comparing it to the installed name set.

Before:

```
["name"].include?("tap/full/name") # always false
```

After:

```
["name"].include("tap/full/name".split("/").last) # sometimes true
```

2. The names we were trying to load formulae and casks with
were incorrect.

Before:

```
tap = Tap.fetch("homebrew/cask-versions")
token = "homebrew/cask-versions/token"

cask = Cask::CaskLoader.load("#{tap}/#{token}")
```

After:

```
token = "homebrew/cask-versions/token"
cask = CaskCaskLoader.load(token)
```
2024-03-10 22:33:33 -07:00
Michael Cho
d95ab3d575
docs: move test-only resource into test block
Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-10 22:22:04 -04:00
Michael Cho
ae0ceee74f
Merge pull request #16866 from cho-m/venv-all-bottle
cleaner: remove RECORD and modify INSTALLER
2024-03-10 19:55:47 -04:00
Michael Cho
29175df63f
cleanup: track removed links & dirs during dry-run
This allows dry-run to display any directories that will be removed
as a result of previous removal steps.

Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-10 19:02:49 -04:00
Bo Anderson
d1cebef8c5
dev-cmd/pr-*: remove Oxford commas previously missed by linter 2024-03-10 22:31:44 +00:00
Bo Anderson
754d580a91
Replace ronn with Kramdown's converter 2024-03-10 22:31:38 +00:00
Michael Cho
b95777870c
docs: remove some system Python notes
Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-10 11:34:19 -04:00
Michael Cho
74f310577f
cleaner: remove RECORD and modify INSTALLER
According to [Python specification][1], we should remove `RECORD` file
to prevent changes to installed formula files via other tools, e.g. pip.
This also improves chances of generating an `all` bottle as it avoids
diff due to checksums of HOMEBREW_PREFIX present files. Also modify
`INSTALLER` file to indicate that brew is managing the Python package.

[1]: https://packaging.python.org/en/latest/specifications/recording-installed-packages/#intentionally-preventing-changes-to-installed-packages

Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-10 10:22:55 -04:00
apainintheneck
ca5dfadfaf search: update logic to reflect changes to CoreCaskTap#cask_tokens
It was possible for the cask tokens to be included twice in the
cask_tokens array. This was cancelled out by the fact that we |=
the arrays together but still it was unnecessary work that is best
avoided and makes the code harder to reason about. This is simpler.
2024-03-09 19:38:43 -08:00
apainintheneck
6e0e78cadd tap: CoreCaskTap#cask_tokens should always return short names
This seems to be a bug with how we handle name shortening for the
core cask tap. The core tap always returns short formula names
and returning long names from the core cask tap when not using
the API leads to unexpected behavior.

Specifically this can trick the `brew untap` command into thinking
that there aren't any installed casks in the core cask tap and that
it can be removed even when that is not the case.

One risk here is that the full names were used when caching
descriptions so descriptions could be out of date for people in
the short term though hopefully that's not the end of the world.
2024-03-09 18:59:31 -08:00
apainintheneck
08442734ab s/Tap.reverse_tap_migrations_renames/Tap.tap_migration_oldnames/ 2024-03-09 10:27:22 -08:00
apainintheneck
e6a453a20d tap: add some tests
- Add tests for:
  - `Tap.each`
  - `Tap.installed`
  - `Tap.all`
  - `Tap#reverse_tap_migrations_renames`
  - `Tap.reverse_tap_migrations_renames`
2024-03-09 10:27:22 -08:00
apainintheneck
d4a273443c tap: add #reverse_tap_migrations_renames to speed things up
This gets used by `Tap.reverse_tap_migrations_renames` and reduces
the amount of information that needs to be calculated on the fly
every time.
2024-03-09 10:25:47 -08:00
Michael Cho
85a08bcdc4
cask/audit: allow @ for versioned casks
Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-09 12:20:27 -05:00
apainintheneck
fb8c0d2b30 s/Tap.select(&:installed?)/Tap.installed/ 2024-03-08 23:22:00 -08:00
apainintheneck
3834ef1b73 tap: cache more things at the Tap level
I added two new methods to cache both installed and all taps.
All taps includes core taps no matter if they're installed locally
since they're always provided by the API anyway.

This makes it easier to cache `Tap.each` while making the code
easier to reason about. It also will be useful because we'll
be able to avoid the `Tap.select(&:installed?` pattern that has
recently invaded the codebase.

Note: I also stopped clearing all tap instance caches before
tests. Running `Tap.each` would cache existing taps which would
lead to unexpected behavior since the only existing tap before
each test is the core tap. This is the only tap whose directory
is not cleaned up between tests so we just clear it's cache directly.
We also now clear all tap instances after tests as well regardless
of whether the API was used that time.
2024-03-08 23:22:00 -08:00
Ruoyu Zhong
cd1f040949
Merge pull request #16859 from toobuntu/actionlint
actionlint.yaml: remove workaround for `macos-14`
2024-03-09 04:08:27 +08:00
Todd Schulman
d3da1bbf06 actionlint.yaml: remove workaround for macos-14 2024-03-08 14:56:24 -05:00
Patrick Linnane
4348e06888
Merge pull request #16857 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-static-and-runtime-and-sorbet-runtime-0.5.11287 2024-03-08 11:00:51 -08:00
Patrick Linnane
5652db2819
Merge pull request #16858 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.31.2 2024-03-08 11:00:31 -08:00
BrewTestBot
bee5f216ee
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2024-03-08 18:50:12 +00:00
BrewTestBot
ba4cb0035f
brew vendor-gems: commit updates. 2024-03-08 18:49:58 +00:00
BrewTestBot
486e66982e
brew vendor-gems: commit updates. 2024-03-08 18:49:01 +00:00
dependabot[bot]
25db57da38
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.31.1 to 1.31.2.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.31.1...v1.31.2)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-08 18:48:26 +00:00
dependabot[bot]
cbc40727e0
build(deps): bump sorbet-static-and-runtime and sorbet-runtime
Bumps [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [sorbet-runtime](https://github.com/sorbet/sorbet). These dependencies needed to be updated together.

Updates `sorbet-static-and-runtime` from 0.5.11284 to 0.5.11287
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11284 to 0.5.11287
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-08 18:47:27 +00:00
Mike McQuaid
9ac31827a0
Various brew update behaviour improvements
- Output a message every time auto-update is run rather than a 3 second
  timer. This makes it more obvious that Homebrew isn't just sitting
  doing nothing for 2.9 seconds.
- Output a message when running `brew update` so Homebrew doesn't just
  sit there silently doing nothing.
- Update all taps when `brew update` is run, not just those hosted on
  GitHub. This makes it more obvious that people don't need to explictly
  run `brew update` "just in case".
- As a result of this, remove `brew tap --force-auto-update` as it's no
  longer necessary.
2024-03-08 16:21:09 +00:00
Mike McQuaid
815db0637a
Merge pull request #16854 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2024-03-08 08:48:14 +00:00
Mike McQuaid
99e0b69262
Merge pull request #16852 from gliptak/xcode1
Emit more specific error text on outdated Xcode
2024-03-08 08:38:14 +00:00
BrewTestBot
25488c7957
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2024-03-08 08:37:50 +00:00
Mike McQuaid
0a70e493dd
Merge pull request #16851 from boblail/lail/add-overwrite-flag-to-brew-upgrade
Add support for the `--overwrite` flag to `brew upgrade` to govern the keg-linking step
2024-03-08 08:36:58 +00:00
Mike McQuaid
f1f92d28bf
Merge branch 'master' into lail/add-overwrite-flag-to-brew-upgrade 2024-03-08 08:27:04 +00:00
Mike McQuaid
8cce987f5c
Merge pull request #16853 from cho-m/cleaner-direct_url.json
cleaner: remove pip direct_url.json
2024-03-08 08:25:44 +00:00
Mike McQuaid
de73522b5a
os/Mac/diagnostic: include Xcode path and version. 2024-03-08 08:24:45 +00:00
Mike McQuaid
b70884a474
Merge pull request #16848 from Homebrew/rubocop_default_hash_syntax
rubocop: default hash syntax.
2024-03-08 07:55:33 +00:00
Kevin
e22ace59a9
Merge pull request #16798 from Homebrew/build-cask-internal-json-v3
dev-cmd/generate-cask-api: start generating cask internal JSON v3
2024-03-07 23:12:44 -08:00
apainintheneck
e0cea903ec s/to_api_hash/to_internal_api_hash/ 2024-03-07 20:29:58 -08:00