Skip to content

Commit

Permalink
Merge pull request #43 from ggtakec/fix/bugs
Browse files Browse the repository at this point in the history
Improved setup_k2hr3_cli_component.sh tool
  • Loading branch information
ggtakec authored Feb 10, 2025
2 parents e66c901 + 4071d8c commit 92e5588
Showing 1 changed file with 66 additions and 16 deletions.
82 changes: 66 additions & 16 deletions buildutils/setup_k2hr3_cli_component.sh
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,9 @@ if [ -n "${_TMP_K2HR3_CLI_REPO_NAME}" ]; then
K2HR3_CLI_REPO_NAME="${_TMP_K2HR3_CLI_REPO_NAME}"
fi

#--------------------------------------------------------------
#==============================================================
# Main processing
#--------------------------------------------------------------
#==============================================================
#
# Cleanup
#
Expand All @@ -166,6 +166,9 @@ if [ "${IS_CLEANUP}" -eq 1 ]; then
exit 0
fi

#--------------------------------------------------------------
# Check k2hr3_cli source code
#--------------------------------------------------------------
#
# Check .git/config file
#
Expand All @@ -177,56 +180,103 @@ if [ -d "${GIT_DIR}" ]; then
fi

#
# Check git domain and organaization
# Check options and git domain / organaization
#
if [ "${USE_GIT_CONFIG}" -eq 1 ]; then
#
# Check git information
#
echo "[INFO] ${PRGNAME} - Check .git/config for git domain and organaiztion" 1>&2

GIT_URL_THIS_REPO=$(grep -i '^[[:space:]]*url[[:space:]]*=[[:space:]]*' .git/config | sed -e 's/^[[:space:]]*url[[:space:]]*=[[:space:]]*//gi')
GIT_URL_THIS_REPO=$(grep -i '^[[:space:]]*url[[:space:]]*=[[:space:]]*' .git/config | head -1 | sed -e 's/^[[:space:]]*url[[:space:]]*=[[:space:]]*//gi' | tr -d '\n')

if [ -n "${GIT_URL_THIS_REPO}" ]; then
#
# Get git domain and organaization
#
GIT_DOMAIN_NAME=$(echo "${GIT_URL_THIS_REPO}" | sed -e 's/^git@//g' -e 's#^http[s]*://##g' -e 's/:/ /g' -e 's#/# #g' | awk '{print $1}')
GIT_ORG_NAME=$(echo "${GIT_URL_THIS_REPO}" | sed -e 's/^git@//g' -e 's#^http[s]*://##g' -e 's/:/ /g' -e 's#/# #g' | awk '{print $2}')
GIT_DOMAIN_NAME=$(echo "${GIT_URL_THIS_REPO}" | sed -e 's/^git@//g' -e 's#^http[s]*://##g' -e 's/:/ /g' -e 's#/# #g' | awk '{print $1}' | tr -d '\n')
GIT_ORG_NAME=$(echo "${GIT_URL_THIS_REPO}" | sed -e 's/^git@//g' -e 's#^http[s]*://##g' -e 's/:/ /g' -e 's#/# #g' | awk '{print $2}' | tr -d '\n')

if [ -z "${GIT_DOMAIN_NAME}" ] || [ -z "${GIT_ORG_NAME}" ]; then
echo "[WARNING] ${PRGNAME} - Unknown git dmain and organaization in .git/config" 1>&2
USE_ARCHIVE=1
GIT_DOMAIN_NAME=${DEFAULT_GIT_DOMAIN}
GIT_ORG_NAME=${DEFAULT_K2HR3_CLI_ORG}
GIT_DOMAIN_NAME="${DEFAULT_GIT_DOMAIN}"
GIT_ORG_NAME="${DEFAULT_K2HR3_CLI_ORG}"
fi
else
echo "[WARNING] ${PRGNAME} - Unknown git url in .git/config" 1>&2
USE_ARCHIVE=1
GIT_DOMAIN_NAME=${DEFAULT_GIT_DOMAIN}
GIT_ORG_NAME=${DEFAULT_K2HR3_CLI_ORG}
GIT_DOMAIN_NAME="${DEFAULT_GIT_DOMAIN}"
GIT_ORG_NAME="${DEFAULT_K2HR3_CLI_ORG}"
fi
else
echo "[INFO] ${PRGNAME} - .git/config is not existed." 1>&2
USE_ARCHIVE=1
GIT_DOMAIN_NAME=${DEFAULT_GIT_DOMAIN}
GIT_ORG_NAME=${DEFAULT_K2HR3_CLI_ORG}
GIT_DOMAIN_NAME="${DEFAULT_GIT_DOMAIN}"
GIT_ORG_NAME="${DEFAULT_K2HR3_CLI_ORG}"
fi

#
# Check environments
#
if [ "${USE_ARCHIVE}" -eq 1 ] && [ "${SPECIFIED_K2HR3_CLI_PATH_ENV}" -eq 1 ] && [ -n "${DEFAULT_GIT_DOMAIN}" ] && [ -n "${DEFAULT_K2HR3_CLI_ORG}" ]; then
echo "[INFO] ${PRGNAME} - Since the k2hr3_cli repository path is specified in the environment, use it to clone instead of downloading the archive." 1>&2
USE_ARCHIVE=0
GIT_DOMAIN_NAME=${DEFAULT_GIT_DOMAIN}
GIT_ORG_NAME=${DEFAULT_K2HR3_CLI_ORG}
GIT_DOMAIN_NAME="${DEFAULT_GIT_DOMAIN}"
GIT_ORG_NAME="${DEFAULT_K2HR3_CLI_ORG}"
fi

#
# Git clone / Download archive
# Check local archive file
#
# [NOTE]
# Archive files have the highest priority and will ignore all options if the file exists.
#
CHECK_START_TOP_DIR="${SRCTOP}"
USE_LOCAL_ARCHIVE_FILE=0

while [ "${USE_LOCAL_ARCHIVE_FILE}" -eq 0 ]; do
LOCAL_ARCHIVE_FILE="${CHECK_START_TOP_DIR}/${K2HR3_CLI_REPO_NAME}.tgz"
if [ -f "${LOCAL_ARCHIVE_FILE}" ]; then
USE_LOCAL_ARCHIVE_FILE=1
else
CHECK_START_TOP_DIR=$(dirname "${CHECK_START_TOP_DIR}")
if [ -z "${CHECK_START_TOP_DIR}" ] || [ "${CHECK_START_TOP_DIR}" = "/" ]; then
#
# Not found
#
LOCAL_ARCHIVE_FILE=""
break
fi
fi
done

#--------------------------------------------------------------
# Get k2hr3_cli source code
#--------------------------------------------------------------
mkdir -p "${EXPAND_TOP_DIR}"

K2HR3_CLI_EXPAND_DIR=""
if [ "${USE_ARCHIVE}" -ne 1 ]; then

if [ "${USE_LOCAL_ARCHIVE_FILE}" -eq 1 ]; then
#
# Expand local archive file
#
CURRENT_DIR=$(pwd)
cd "${EXPAND_TOP_DIR}" || exit 1

if tar xvfz "${LOCAL_ARCHIVE_FILE}" >/dev/null; then
if [ -d "${K2HR3_CLI_REPO_NAME}" ]; then
K2HR3_CLI_EXPAND_DIR="${EXPAND_TOP_DIR}/${K2HR3_CLI_REPO_NAME}"
else
echo "[ERROR] ${PRGNAME} - Not found ${EXPAND_TOP_DIR}/${K2HR3_CLI_REPO_NAME}" 1>&2
fi
else
echo "[ERROR] ${PRGNAME} - Failed to expand ${EXPAND_TOP_DIR}/${K2HR3_CLI_ZIP_NAME} from ${LOCAL_ARCHIVE_FILE}" 1>&2
fi
cd "${CURRENT_DIR}" || exit 1

elif [ "${USE_ARCHIVE}" -ne 1 ]; then
#
# Git clone k2hr3_cli
#
Expand Down

0 comments on commit 92e5588

Please sign in to comment.