36106 Commits

Author SHA1 Message Date
BrewTestBot
18336080df
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.
2023-05-14 18:47:44 +00:00
Mike McQuaid
3dabf504bd
Merge pull request #15176 from reitermarkus/cask-renames
Implement cask renames.
2023-05-14 19:46:56 +01:00
Mike McQuaid
cea0ec8b40
workflows/tests: test API generation.
This should avoid making changes here that break API generation.
2023-05-14 19:46:24 +01:00
apainintheneck
41c7eb7078 formula-cookbook: update service docs
Add more info about the `run` method.
- Adds array example
- Adds OS specific example
2023-05-13 23:41:18 -07:00
Markus Reiter
0d56b97b07
Add SimulateSystem::with. 2023-05-14 01:45:04 +02:00
apainintheneck
ed24ef4860 docs/formula-cookbook: update service docs 2023-05-13 14:53:02 -07:00
apainintheneck
1bae81cba2 rubocops/service: add checks for custom service names
It now checks for two new edge cases.
1. Are the required methods defined in the block?
2. Is the `run` command defined if we're using methods other
   than `service_name` or `plist_name`?

It has also been updated to only get the list of method call nodes
once instead of doing it repeatedly for each cellar path check.
2023-05-13 14:53:01 -07:00
apainintheneck
1111706378 service: add custom service name DSL
The main thing is that this DSL allows us to provide an
interface that can be serialized to the JSON API.

Changes:
- Homebrew::Service
  - Adds `#service_name` and `#plist_name` methods
    - Each is now included in the `#serialize` method as well
  - Eval block on instantiation
    - Before we lazy evaluated this but the cost is not significant
      and it complicated the code a bunch. This only gets called
      during install, when evaluating caveats and in the `brew service`
      command. It skips this evaluation if the service block isn't there.
  - Add `#command?` helper to avoid `#command.blank?` and `#command.present?`
- Formula
  - `#service` now returns a service whenever it's called. This call is
    hidden behind a call to `#service?` most of the time anyway so this
    should be fine.
  - `#plist_name` and `#service_name` now call the methods of the same name
    on the service class. This should have already been in the service object
    to begin with and keeping these methods here helps preserve backwards
    compatibility with people who were overwriting these methods before.
- Caveats
  - Prefer `service#command?`
  - Add helpers for checking on service commands
    - This duplicates some of the work in `brew services`. Maybe we should
      merge that repo in at some point.
  - Check for installed service at `#plist_name` or `#service_name`. I think
    this should be used instead of `Keg#plist_installed?` which checked for any plist file.
    We should think about deprecating `#plist_installed?` in the future.
  - Stop using `ps aux | grep #{formula.plist_name}` to check for service files
    because it was inaccurate (it always returns true on my machine) because the grep
    process is started before the ps process.
  - Note: The behavior is the same as it was before. This means that caveats
    only show up for custom service files on install or if they're already installed.
    Otherwise it won't show up in `brew info`. This is because it has to check
    first if the service file has been installed.
- Utils::Service
  - Add utils for evaluating if a service is installed and running. This duplicates
    some of the work already found in `brew services`. We should seriously consider
    merging `brew services` with the main brew repo in the future since it's already
    tightly coupled to the code in the main repo.
- Formulary.load_formula_from_api
  - Be more explicit about which types can be deserialized into run params since
    it is now possible for run params to be nil.
- Update and add tests
2023-05-13 14:53:01 -07:00
Markus Reiter
4c3e8255cf
Compare Tag using standardized_arch. 2023-05-13 22:19:35 +02:00
Markus Reiter
023238a761
Simplify hash merge. 2023-05-13 22:18:17 +02:00
Markus Reiter
935c5efaf8
Use sudo for rmdir if necessary. 2023-05-13 06:46:59 +02:00
Markus Reiter
b0dc84b117
Merge pull request #15413 from reitermarkus/symlink-sudo
Use `sudo` for symlinks if necessary.
4.0.18
2023-05-13 04:10:01 +02:00
Markus Reiter
d7a0e260e8
Improve Cask::Utils.gain_permissions_remove for symlinks. 2023-05-13 03:54:48 +02:00
Markus Reiter
4e483c9a0e
Add test for Cask::Utils::gain_permissions_mkpath. 2023-05-13 03:42:00 +02:00
Markus Reiter
2c71d9dcd8
Use sudo for symlinks if necessary. 2023-05-13 03:42:00 +02:00
Markus Reiter
a1dd95d6ee
Merge pull request #15412 from JBYoshi/cask-upgrade/named-params
Fix typing on revert_upgrade().
2023-05-12 22:32:11 +02:00
JBYoshi
ad8ce82673
Fix typing on revert_upgrade().
Also adds several type signature checks to test for these errors.
2023-05-12 14:53:27 -05:00
Markus Reiter
d12ad28d26
Merge pull request #15411 from Homebrew/dependabot/bundler/Library/Homebrew/thor-1.2.2
Bump thor from 1.2.1 to 1.2.2 in /Library/Homebrew
2023-05-12 21:20:48 +02:00
Markus Reiter
a3231a03fa
Implement cask renames. 2023-05-12 21:17:30 +02:00
BrewTestBot
3852582d9f
Update RBI files for thor.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2023-05-12 19:05:40 +00:00
BrewTestBot
3e588581de
brew vendor-gems: commit updates. 2023-05-12 19:00:59 +00:00
dependabot[bot]
aa47457378
Bump thor from 1.2.1 to 1.2.2 in /Library/Homebrew
Bumps [thor](https://github.com/rails/thor) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/rails/thor/releases)
- [Commits](https://github.com/rails/thor/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: thor
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-12 18:57:36 +00:00
Markus Reiter
8ea287cc07
Merge pull request #15407 from JBYoshi/cask-upgrade/wildcards
Fix wildcard copy in cask updates.
2023-05-12 19:10:56 +02:00
JBYoshi
b1c7f12fbb
Clean up allow and expect. 2023-05-12 09:57:12 -05:00
JBYoshi
4a3b8923f2
More test cleanup. 2023-05-12 09:52:57 -05:00
JBYoshi
0ddeba6de6
Merge remote-tracking branch 'origin/master' into cask-upgrade/wildcards 2023-05-12 09:46:01 -05:00
Mike McQuaid
1773056597
Merge pull request #15408 from reitermarkus/audit-empty-tap
Don't fail auditing empty tap.
2023-05-12 08:31:33 +01:00
JBYoshi
d697037aca
Merge remote-tracking branch 'origin/master' into cask-upgrade/wildcards 2023-05-11 17:32:36 -05:00
JBYoshi
5e23a0563a
Switch base case expect() to allow(). 2023-05-11 17:10:41 -05:00
JBYoshi
7a108d3db0
Merge and_call_original instruction into expect() calls. 2023-05-11 17:09:27 -05:00
Markus Reiter
c5926241a8
Don't fail auditing empty tap. 2023-05-11 21:52:36 +02:00
JBYoshi
84ad387661
Clean up code for feedback. 2023-05-11 13:29:56 -05:00
JBYoshi
29c9921726
Also use / above. 2023-05-11 12:47:37 -05:00
JBYoshi
d0e64e2c57
Use / for path concatenation. 2023-05-11 12:46:05 -05:00
JBYoshi
a1780c842c
Improve unit test to make sure the sudo version is used. 2023-05-11 12:44:35 -05:00
Markus Reiter
aa450ea824
Merge pull request #15403 from reitermarkus/version-null-to_str
Improve `#to_str` and `#to_json` for `Version::NULL`.
2023-05-11 19:33:10 +02:00
Markus Reiter
5c9c089b68
Improve #to_str and #to_json for Version::NULL. 2023-05-11 19:16:42 +02:00
JBYoshi
2e8232de39
Replace wildcard copy with a loop over children.
Fixes one of the errors in https://github.com/orgs/Homebrew/discussions/4498 (specifically "cp: [...].app/*:
No such file or directory").
2023-05-11 11:47:16 -05:00
Bo Anderson
fff93a8781
Merge pull request #15405 from Bo98/cleanup-version-fix
cleanup: fix version error for cache items without a version
2023-05-11 16:16:27 +01:00
Bo Anderson
0daa4d98cf
cleanup: fix version error for cache items without a version 2023-05-11 13:44:26 +01:00
Mike McQuaid
082017e93d
Merge pull request #15402 from Bo98/tab-version-type-fix
tab: fix typing of versions
2023-05-11 13:08:25 +01:00
Bo Anderson
289fb5b393
tab: fix typing of versions 2023-05-11 12:33:27 +01:00
Bo Anderson
32f225897e
Merge pull request #15400 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2023-05-11 02:49:55 +01:00
BrewTestBot
8d8e6e4eef
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2023-05-11 00:24:17 +00:00
Bo Anderson
5f2ccd22f2
Merge pull request #15399 from Bo98/cask-backtrace-improve
cask/upgrade: improve error backtraces
2023-05-10 15:49:30 +01:00
Bo Anderson
fb31c5d5d6
cask/upgrade: improve error backtraces 2023-05-10 14:46:51 +01:00
Mike McQuaid
15244d8a7d
Merge pull request #15394 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2023-05-10 13:20:14 +01:00
Mike McQuaid
04866b6e39
Merge pull request #15392 from reitermarkus/remove-rubocop
Remove `NoDslVersion` cop.
2023-05-10 13:13:35 +01:00
Mike McQuaid
d90644f18e
Merge pull request #15376 from colindean/checklist_toc_and_minor_fixes
Adds a TOC to the maintainer checklist
2023-05-10 13:11:55 +01:00
Mike McQuaid
17562724bd
New-Maintainer-Checklist: cleanup owners references. 2023-05-10 12:56:15 +01:00