Revert "Revert "Enable Sorbet by default for Homebrew developers and developer commands.""

Along with some fixes for failures in Homebrew/core. See discussion at #15368.

This reverts commit e49cd331dba71b1ced341f1838c7651ecff46a38.
This commit is contained in:
Carlo Cabrera 2023-05-05 21:40:51 +08:00
parent f71b3d37ab
commit f68b635513
No known key found for this signature in database
GPG Key ID: C74D447FC549A1D0
4 changed files with 27 additions and 3 deletions

View File

@ -883,6 +883,29 @@ then
fi fi
fi fi
if [[ -n "${HOMEBREW_DEVELOPER}" || -n "${HOMEBREW_DEVELOPER_COMMAND}" ]]
then
# Always run with Sorbet for Homebrew developers or Homebrew developer commands.
export HOMEBREW_SORBET_RUNTIME="1"
fi
# brew audit and brew readall is currently failing with Sorbet for homebrew/core.
# TODO: fix this and remove this if block.
if [[ -n "${HOMEBREW_SORBET_RUNTIME}" ]]
then
NO_SORBET_RUNTIME_COMMANDS=(
audit
readall
)
if check-array-membership "${HOMEBREW_COMMAND}" "${NO_SORBET_RUNTIME_COMMANDS[@]}"
then
unset HOMEBREW_SORBET_RUNTIME
fi
unset NO_SORBET_RUNTIME_COMMANDS
fi
if [[ -n "${HOMEBREW_DEVELOPER_COMMAND}" && -z "${HOMEBREW_DEVELOPER}" ]] if [[ -n "${HOMEBREW_DEVELOPER_COMMAND}" && -z "${HOMEBREW_DEVELOPER}" ]]
then then
if [[ -z "${HOMEBREW_DEV_CMD_RUN}" ]] if [[ -z "${HOMEBREW_DEV_CMD_RUN}" ]]

View File

@ -357,7 +357,8 @@ module Homebrew
boolean: true, boolean: true,
}, },
HOMEBREW_SORBET_RUNTIME: { HOMEBREW_SORBET_RUNTIME: {
description: "If set, enable runtime typechecking using Sorbet.", description: "If set, enable runtime typechecking using Sorbet. " \
"Set by default for HOMEBREW_DEVELOPER or when running developer commands.",
boolean: true, boolean: true,
}, },
HOMEBREW_SSH_CONFIG_PATH: { HOMEBREW_SSH_CONFIG_PATH: {

View File

@ -2275,7 +2275,7 @@ example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just
<br>If set along with `HOMEBREW_DEVELOPER`, do not use bottles from older versions of macOS. This is useful in development on new macOS versions. <br>If set along with `HOMEBREW_DEVELOPER`, do not use bottles from older versions of macOS. This is useful in development on new macOS versions.
- `HOMEBREW_SORBET_RUNTIME` - `HOMEBREW_SORBET_RUNTIME`
<br>If set, enable runtime typechecking using Sorbet. <br>If set, enable runtime typechecking using Sorbet. Set by default for HOMEBREW_DEVELOPER or when running developer commands.
- `HOMEBREW_SSH_CONFIG_PATH` - `HOMEBREW_SSH_CONFIG_PATH`
<br>If set, Homebrew will use the given config file instead of `~/.ssh/config` when fetching `git` repos over `ssh`. <br>If set, Homebrew will use the given config file instead of `~/.ssh/config` when fetching `git` repos over `ssh`.

View File

@ -3354,7 +3354,7 @@ If set along with \fBHOMEBREW_DEVELOPER\fR, do not use bottles from older versio
\fBHOMEBREW_SORBET_RUNTIME\fR \fBHOMEBREW_SORBET_RUNTIME\fR
. .
.br .br
If set, enable runtime typechecking using Sorbet\. If set, enable runtime typechecking using Sorbet\. Set by default for HOMEBREW_DEVELOPER or when running developer commands\.
. .
.TP .TP
\fBHOMEBREW_SSH_CONFIG_PATH\fR \fBHOMEBREW_SSH_CONFIG_PATH\fR