Merge pull request #15471 from Omoeba/fix-noncore

Fix `brew formulae` and `brew casks` when the API is used
This commit is contained in:
Mike McQuaid 2023-05-25 12:18:20 +01:00 committed by GitHub
commit 2f63d26601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 8 deletions

View File

@ -13,9 +13,12 @@ homebrew-casks() {
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" &&
-f "${HOMEBREW_CACHE}/api/cask_names.txt" ]]
then
{
cat "${HOMEBREW_CACHE}/api/cask_names.txt"
echo
homebrew-items '*/Casks/*\.rb' '.*/homebrew/homebrew-cask/.*' 's|/Casks/|/|' '^homebrew/cask'
} | sort -uf
else
homebrew-items '*/Casks/*\.rb' '' 's|/Casks/|/|' '^homebrew/cask'
homebrew-items '*/Casks/*\.rb' '^\b$' 's|/Casks/|/|' '^homebrew/cask'
fi
}

View File

@ -13,9 +13,12 @@ homebrew-formulae() {
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" &&
-f "${HOMEBREW_CACHE}/api/formula_names.txt" ]]
then
{
cat "${HOMEBREW_CACHE}/api/formula_names.txt"
echo
homebrew-items '*\.rb' '.*Casks(/.*|$)|.*/homebrew/homebrew-core/.*' 's|/Formula/|/|' '^homebrew/core'
} | sort -uf
else
homebrew-items '*\.rb' 'Casks' 's|/Formula/|/|' '^homebrew/core'
homebrew-items '*\.rb' '.*Casks(/.*|$)' 's|/Formula/|/|' '^homebrew/core'
fi
}

View File

@ -1,6 +1,7 @@
homebrew-items() {
local items
local sed_extended_regex_flag
local find_args
local find_include_filter="$1"
local find_exclude_filter="$2"
local sed_filter="$3"
@ -11,17 +12,19 @@ homebrew-items() {
if [[ -n "${HOMEBREW_MACOS}" ]]
then
sed_extended_regex_flag="-E"
find_args=("-E" "${HOMEBREW_REPOSITORY}/Library/Taps")
else
sed_extended_regex_flag="-r"
find_args=("${HOMEBREW_REPOSITORY}/Library/Taps" "-regextype" "posix-extended")
fi
# HOMEBREW_REPOSITORY is set by brew.sh
# shellcheck disable=SC2154
[[ -d "${HOMEBREW_REPOSITORY}/Library/Taps" ]] || return
items="$(
find "${HOMEBREW_REPOSITORY}/Library/Taps" \
find "${find_args[@]}" \
-type d \( \
-name "${find_exclude_filter}" -o \
-regex "${find_exclude_filter}" -o \
-name cmd -o \
-name .github -o \
-name lib -o \