From 21f586c4bf2f420180e7df0f327fd16fa88b7f21 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 18 Jul 2023 12:57:54 +0100 Subject: [PATCH] cmd/{casks,formulae}: handle sharding. - Allow subdirectories inside `Casks`/`Formula` directories. - DRY up repeated code with some variables. --- Library/Homebrew/cmd/casks.sh | 8 ++++++-- Library/Homebrew/cmd/formulae.sh | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cmd/casks.sh b/Library/Homebrew/cmd/casks.sh index 5361ea59f1..9b5706e401 100644 --- a/Library/Homebrew/cmd/casks.sh +++ b/Library/Homebrew/cmd/casks.sh @@ -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 } diff --git a/Library/Homebrew/cmd/formulae.sh b/Library/Homebrew/cmd/formulae.sh index 1f25cad154..5cba466dde 100644 --- a/Library/Homebrew/cmd/formulae.sh +++ b/Library/Homebrew/cmd/formulae.sh @@ -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 }