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}" && if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" &&
-f "${HOMEBREW_CACHE}/api/cask_names.txt" ]] -f "${HOMEBREW_CACHE}/api/cask_names.txt" ]]
then then
cat "${HOMEBREW_CACHE}/api/cask_names.txt" {
echo cat "${HOMEBREW_CACHE}/api/cask_names.txt"
echo
homebrew-items '*/Casks/*\.rb' '.*/homebrew/homebrew-cask/.*' 's|/Casks/|/|' '^homebrew/cask'
} | sort -uf
else else
homebrew-items '*/Casks/*\.rb' '' 's|/Casks/|/|' '^homebrew/cask' homebrew-items '*/Casks/*\.rb' '^\b$' 's|/Casks/|/|' '^homebrew/cask'
fi fi
} }

View File

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

View File

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