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() {
PKG_NAME="$1"
[[ "${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="$(
# 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}"
)"
@ -202,7 +216,7 @@ check() {
if [[ "${ENABLE}" == "--enable" ]]; then
info "Enabling auto-update..."
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."
return
fi

View File

@ -33,9 +33,18 @@ fi
for package in "${@}"; do
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"
continue
fi

View File

@ -34,8 +34,18 @@ if git status >/dev/null 2>&1; then
fi
for package in "${@}"; do
package="${package%%/}"
buildsh_path="${REPO_ROOT}/packages/${package}/build.sh"
buildsh_path=
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
echo "${package}: skipping as no build.sh found"

View File

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