monorepo: adapt scripts/bin to new changes

This commit is contained in:
Yaksh Bariya 2022-04-18 10:18:47 +05:30
parent f0ea9b922b
commit 3422559ad2
No known key found for this signature in database
GPG Key ID: F7486BA7D3D27581
4 changed files with 52 additions and 9 deletions

View File

@ -173,9 +173,23 @@ write_to_first_empty_line() {
check() { check() {
PKG_NAME="$1" PKG_NAME="$1"
[[ "${SILENT}" == "true" ]] || echo -e "${_BLUE}==>${_YELLOW} ${PKG_NAME}${_RESET_COLOR}" [[ "${SILENT}" == "true" ]] || echo -e "${_BLUE}==>${_YELLOW} ${PKG_NAME}${_RESET_COLOR}"
local build_sh=
if [ -d "${PKG_NAME}" ] && [ -f "${PKG_NAME}/build.sh" ]; then
build_sh="${PKG_NAME}/build.sh"
else
for repo_dir in $(jq --raw-output 'keys | .[]' < $TERMUX_SCRIPTDIR/repo.json); do
if [ -f $TERMUX_SCRIPTDIR/$repo_dir/$PKG_NAME/build.sh ]; then
build_sh=$TERMUX_SCRIPTDIR/$repo_dir/$PKG_NAME/build.sh
fi
done
fi
if [ -z "$build_sh" ]; then
error "No package $PKG_NAME found in any of the repository"
fi
SRC_URL="$( SRC_URL="$(
# shellcheck source=/dev/null # shellcheck source=/dev/null
. "${TERMUX_SCRIPTDIR}"/packages/"${PKG_NAME}"/build.sh >/dev/null 2>&1 . $build_sh >/dev/null 2>&1
echo "${TERMUX_PKG_SRCURL}" echo "${TERMUX_PKG_SRCURL}"
)" )"
@ -202,7 +216,7 @@ check() {
if [[ "${ENABLE}" == "--enable" ]]; then if [[ "${ENABLE}" == "--enable" ]]; then
info "Enabling auto-update..." info "Enabling auto-update..."
write_to_first_empty_line \ write_to_first_empty_line \
"${TERMUX_SCRIPTDIR}/packages/${PKG_NAME}/build.sh" "TERMUX_PKG_AUTO_UPDATE=true" $build_sh "TERMUX_PKG_AUTO_UPDATE=true"
info "Done." info "Done."
return return
fi fi

View File

@ -33,9 +33,18 @@ fi
for package in "${@}"; do for package in "${@}"; do
package="${package%%/}" package="${package%%/}"
buildsh_path="${REPO_ROOT}/packages/${package}/build.sh" buildsh_path=
for repo in $(jq --raw-output 'keys | .[]' < ${REPO_ROOT}/repo.json); do
_buildsh_path="${REPO_ROOT}/${repo}/${package}/build.sh"
echo $_buildsh_path
if [ ! -f "${buildsh_path}" ]; then if [ -f "${_buildsh_path}" ]; then
buildsh_path=$_buildsh_path
break
fi
done
if [ -z "$buildsh_path" ]; then
echo "${package}: skipping as no build.sh found" echo "${package}: skipping as no build.sh found"
continue continue
fi fi

View File

@ -34,8 +34,18 @@ if git status >/dev/null 2>&1; then
fi fi
for package in "${@}"; do for package in "${@}"; do
package="${package%%/}" buildsh_path=
buildsh_path="${REPO_ROOT}/packages/${package}/build.sh" if [ -d "${package}" ] && [ -f "${package}/build.sh" ]; then
buildsh_path="${package}/build.sh"
package=$(basename ${package})
else
for repo_path in $(jq --raw-output 'keys | . []' < $REPO_ROOT/repo.json); do
if [ -d "${repo_path}/${package}" ] && [ -f "${repo_path}/${package}/build.sh" ]; then
buildsh_path="${repo_path}/${package}/build.sh"
package=$(basename ${package})
fi
done
fi
if [ ! -f "${buildsh_path}" ]; then if [ ! -f "${buildsh_path}" ]; then
echo "${package}: skipping as no build.sh found" echo "${package}: skipping as no build.sh found"

View File

@ -130,12 +130,22 @@ main() {
echo "INFO: Running update for: $*" echo "INFO: Running update for: $*"
if [[ "$1" == "@all" ]]; then if [[ "$1" == "@all" ]]; then
for pkg_dir in "${TERMUX_SCRIPTDIR}"/packages/*; do for repo_dir in $(jq --raw-output 'keys | .[]' < ${TERMUX_SCRIPTDIR}/repo.json); do
_run_update "${pkg_dir}" for pkg_dir in $repo_dir/*; do
_run_update "${pkg_dir}"
done
done done
else else
for pkg in "$@"; do for pkg in "$@"; do
_run_update "${TERMUX_SCRIPTDIR}/packages/${pkg}" if [ ! -d "${pkg}" ]; then
for repo_dir in $(jq --raw-output 'keys | .[]' < ${TERMUX_SCRIPTDIR}/repo.json); do
if [ -d "${repo_dir}/${pkg}" ]; then
pkg="${repo_dir}/${pkg}"
break
fi
done
fi
_run_update "${pkg}"
done done
fi fi