93 Commits

Author SHA1 Message Date
Patrick Linnane
a272310c37
utils/gems: update Bundler version
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-09 11:43:19 -07:00
Mike McQuaid
9560c01453
Enable Bootsnap by default
- do some optimisation of `require`s before Bootsnap
- remove `HOMEBREW_BOOTSTRAP` environment variable as it's set by
  default
- add fast require in `bootsnap.rb` using logic from `ruby.sh`
- cleanup `bootsnap.rb` a bit
- remove setting `HOMEBREW_BOOTSNAP` in GitHub Actions
2025-03-31 17:55:07 +01:00
Bo Anderson
1168ec1feb
Reset Bootsnap after installing gems 2025-03-27 03:37:17 +00:00
Bob Lail
c752c00ac6 brew vendor-gems: commit updates. 2024-09-27 14:44:40 -07:00
Bo Anderson
561cc17a74
utils/gems: remove module_function 2024-08-20 03:57:23 +01:00
Issy Long
45978435e7
rubocop: Use Sorbet/StrictSigil as it's better than comments
- Previously I thought that comments were fine to discourage people from
  wasting their time trying to bump things that used `undef` that Sorbet
  didn't support. But RuboCop is better at this since it'll complain if
  the comments are unnecessary.

- Suggested in https://github.com/Homebrew/brew/pull/18018#issuecomment-2283369501.

- I've gone for a mixture of `rubocop:disable` for the files that can't
  be `typed: strict` (use of undef, required before everything else, etc)
  and `rubocop:todo` for everything else that should be tried to make
  strictly typed. There's no functional difference between the two as
  `rubocop:todo` is `rubocop:disable` with a different name.

- And I entirely disabled the cop for the docs/ directory since
  `typed: strict` isn't going to gain us anything for some Markdown
  linting config files.

- This means that now it's easier to track what needs to be done rather
  than relying on checklists of files in our big Sorbet issue:

```shell
$ git grep 'typed: true # rubocop:todo Sorbet/StrictSigil' | wc -l
    268
```

- And this is confirmed working for new files:

```shell
$ git status
On branch use-rubocop-for-sorbet-strict-sigils
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Library/Homebrew/bad.rb
        Library/Homebrew/good.rb

nothing added to commit but untracked files present (use "git add" to track)

$ brew style
Offenses:

bad.rb:1:1: C: Sorbet/StrictSigil: Sorbet sigil should be at least strict got true.
^^^^^^^^^^^^^

1340 files inspected, 1 offense detected
```
2024-08-12 15:24:27 +01:00
Bo Anderson
2b454328ca
Remove non-Portable Ruby bootsnap support 2024-06-19 16:08:05 +01:00
Bo Anderson
1e7cf514eb
utils/gems: handle mismatching EUID and UID for bundle installs 2024-06-18 14:42:45 +01:00
Mike McQuaid
9e0cbe0fd7
Rename variable to HOMEBREW_USING_PORTABLE_RUBY 2024-06-14 12:06:06 +01:00
Bo Anderson
fa91edadfd
Portable Ruby 3.3.3 2024-06-14 03:32:38 +01:00
Mike McQuaid
0c1766510a
env_config: add HOMEBREW_BUNDLE_USER_CACHE.
Used to configure `BUNDLE_USER_CACHE`.
2024-05-18 00:08:42 +09:00
Mike McQuaid
1eb99cdb0e
utils/gems: use BUNDLE_USER_CACHE instead of BUNDLE_CACHE_PATH.
Take two at https://github.com/Homebrew/brew/pull/17304 with the correct
variable name this time.

Fixes #17276.
2024-05-17 23:00:12 +09:00
Mike McQuaid
bde9afa70e
Portable Ruby 3.3.1
Use the latest version of Portable Ruby.
2024-05-17 00:23:36 +01:00
Mike McQuaid
03bf6db08c
utils/gems: handle undefined HOMEBREW_CACHE.
Some call paths can result in this not being defined so let's handle
that better.
2024-05-16 11:08:51 +09:00
Mike McQuaid
cb86847d95
utils/gems: use HOMEBREW_CACHE for bundler cache.
Fixes #17276
2024-05-15 22:17:02 +09:00
Markus Reiter
480e264d9a
Lint Ruby docs. 2024-05-01 11:35:21 +02:00
Markus Reiter
caf87c0336
Warn about undocumented non-private APIs. 2024-05-01 11:35:20 +02: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
Douglas Eichelberger
2e90749f9f brew vendor-gems: commit updates. 2024-01-26 15:03:59 -08:00
Douglas Eichelberger
7ae087b24c Update Library/Homebrew/utils/gems.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2024-01-19 13:36:16 -08:00
Douglas Eichelberger
08e12b2383 Remove ActiveSupport Array access core extensions 2024-01-19 13:34:52 -08:00
Douglas Eichelberger
b3522b3bb8 Remove ActiveSupport String filters 2024-01-02 16:56:27 -08:00
Bo Anderson
89531e9ff3
Update all dependencies 2023-12-15 16:24:46 +00:00
Douglas Eichelberger
4c96eaf56f
Update gems.rb 2023-12-12 13:39:29 -08:00
Bo Anderson
688d87e839
Remove Ruby 2.6 & macOS system Ruby support code 2023-12-12 03:44:31 +00:00
Douglas Eichelberger
1bc4e72ab9
Bump VENDOR_VERSION in gems.rb
Per the code comment, it seems I should bump this after ignoring a pair of committed vendored gems in https://github.com/Homebrew/brew/pull/16259 :

https://github.com/Homebrew/brew/pull/16259/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947R102
https://github.com/Homebrew/brew/pull/16259/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947R109
2023-11-29 10:00:51 -08:00
Mike McQuaid
e9aae0f8b0
utils/gems: improve behaviour (particularly with Ruby 3)
- Use `Tempfile.new` with a mode argument to avoid the default behaviour
  of creating a file with mode 0600 (only user-readable).
- Avoid writing the file if it already exists and the contents are
  unchanged.
2023-11-09 14:57:47 +00:00
Bo Anderson
a339b912c0
utils/gems: make .homebrew_gem_groups writing atomic 2023-10-30 20:58:44 +00:00
Bo Anderson
900d867345
utils/gems: fix Sonoma compatibility check 2023-10-13 00:02:06 +01:00
Bo Anderson
71f558229a
Test on Ruby 3.1 2023-09-29 04:46:16 +01:00
Bo Anderson
22cb5dbf02
utils/gems: redirect bundler output to stderr 2023-09-27 20:05:03 +01:00
Bo Anderson
582049454f
vendor/bundle/ruby: cleanup unneeded files 2023-09-26 18:39:57 +01:00
Bo Anderson
dd17799d0a
utils/gems: don't allow Sorbet to install on Sonoma's system Ruby 2023-09-13 19:14:18 +01:00
Bo Anderson
9cf0d34ee0
Move gem group setting to separate, cacheable file 2023-09-13 14:04:13 +01:00
Bo Anderson
fdd18a4b79
utils/gems: update to Bundler 2.4 2023-08-16 01:34:16 +01:00
Bo Anderson
c93bc7df45
utils/gems: fix bundler sometimes unnecessarily reinstalling 2023-06-06 23:32:52 +01:00
Bo Anderson
5b3cf28bbc
utils/gems: don't silently install gems during tests 2023-04-24 17:05:38 +01:00
Bo Anderson
e6c188affe
utils/gems: run bundle clean when install not required 2023-04-24 15:51:12 +01:00
Bo Anderson
376440cf3e
Dynamically find gem groups 2023-04-10 16:54:48 +01:00
Bo Anderson
b84bed7385
Revert "Revert "Split prof gems into their own group""
This reverts commit 7b336ed8cd3eb20461fdc45ce67e5318e53920c4.
2023-04-10 16:54:48 +01:00
Mike McQuaid
7b336ed8cd
Revert "Split prof gems into their own group" 2023-04-04 08:49:27 +01:00
Bo Anderson
8bafbcd65a
Split prof gems into their own group 2023-03-31 13:32:38 +01:00
Bo Anderson
81f262ece3
utils/gems: use env shebang when installing gems 2022-11-19 00:58:05 +00:00
Bo Anderson
e21c926f9b
Update Bundler to 2.3.26 2022-11-17 16:35:08 +00:00
Bo Anderson
796bad98ff
Allow gem installation on Rubies other than 2.6 2022-11-05 15:23:19 +00:00
Bo Anderson
8cb056c657
Remove sitedir from LOAD_PATH 2022-10-24 19:42:49 +01:00
Bo Anderson
200cdc69df
utils/gems: set SDKROOT for macOS system Ruby 2022-10-19 18:39:52 +01:00
Bo Anderson
c150657005
Restore ARM Linux support when installing gems 2022-10-17 13:59:40 +01:00
Bo Anderson
a0e784f0ea
Update to Bundler 2 2022-10-14 01:30:38 +01:00