cmd/{casks,formulae}: handle sharding.

- Allow subdirectories inside `Casks`/`Formula` directories.
- DRY up repeated code with some variables.
This commit is contained in:
Mike McQuaid 2023-07-18 12:57:54 +01:00
parent 73b40bc351
commit 21f586c4bf
No known key found for this signature in database
GPG Key ID: 3338A31AFDB1D829
2 changed files with 12 additions and 4 deletions

View File

@ -8,6 +8,10 @@
source "${HOMEBREW_LIBRARY}/Homebrew/items.sh"
homebrew-casks() {
local find_include_filter='*/Casks/*\.rb'
local sed_filter='s|/Casks/(.+/)?|/|'
local grep_filter='^homebrew/cask'
# HOMEBREW_CACHE is set by brew.sh
# shellcheck disable=SC2154
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" &&
@ -16,9 +20,9 @@ homebrew-casks() {
{
cat "${HOMEBREW_CACHE}/api/cask_names.txt"
echo
homebrew-items '*/Casks/*\.rb' '.*/homebrew/homebrew-cask/.*' 's|/Casks/|/|' '^homebrew/cask'
homebrew-items "${find_include_filter}" '.*/homebrew/homebrew-cask/.*' "${sed_filter}" "${grep_filter}"
} | sort -uf
else
homebrew-items '*/Casks/*\.rb' '^\b$' 's|/Casks/|/|' '^homebrew/cask'
homebrew-items "${find_include_filter}" '^\b$' "${sed_filter}" "${grep_filter}"
fi
}

View File

@ -8,6 +8,10 @@
source "${HOMEBREW_LIBRARY}/Homebrew/items.sh"
homebrew-formulae() {
local find_include_filter='*\.rb'
local sed_filter='s|/Formula/(.+/)?|/|'
local grep_filter='^homebrew/core'
# HOMEBREW_CACHE is set by brew.sh
# shellcheck disable=SC2154
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" &&
@ -16,9 +20,9 @@ homebrew-formulae() {
{
cat "${HOMEBREW_CACHE}/api/formula_names.txt"
echo
homebrew-items '*\.rb' '.*Casks(/.*|$)|.*/homebrew/homebrew-core/.*' 's|/Formula/|/|' '^homebrew/core'
homebrew-items "${find_include_filter}" '.*Casks(/.*|$)|.*/homebrew/homebrew-core/.*' "${sed_filter}" "${grep_filter}"
} | sort -uf
else
homebrew-items '*\.rb' '.*Casks(/.*|$)' 's|/Formula/|/|' '^homebrew/core'
homebrew-items "${find_include_filter}" '.*Casks(/.*|$)' "${sed_filter}" "${grep_filter}"
fi
}