mirror of
https://gitee.com/dgiiot/dgiot.git
synced 2024-11-30 03:07:40 +08:00
92 lines
1.9 KiB
Bash
Executable File
92 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
# ensure dir
|
|
cd -P -- "$(dirname -- "$0")/.."
|
|
|
|
help() {
|
|
echo
|
|
echo "-h|--help: To display this usage info"
|
|
echo "--json: Print apps in json"
|
|
echo "-ct fast|docker: Only find apps for CT"
|
|
}
|
|
|
|
WANT_JSON='no'
|
|
CT='novalue'
|
|
while [ "$#" -gt 0 ]; do
|
|
case $1 in
|
|
-h|--help)
|
|
help
|
|
exit 0
|
|
;;
|
|
--json)
|
|
WANT_JSON='yes'
|
|
shift 1
|
|
;;
|
|
--ct)
|
|
CT="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
echo "unknown option $1"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$(./scripts/get-distro.sh)" = 'windows' ]; then
|
|
# Otherwise windows may resolve to find.exe
|
|
FIND="/usr/bin/find"
|
|
else
|
|
FIND='find'
|
|
fi
|
|
|
|
find_app() {
|
|
local appdir="$1"
|
|
"$FIND" "${appdir}" -mindepth 1 -maxdepth 1 -type d
|
|
}
|
|
|
|
EM="emqx"
|
|
SHARED="$(find_app 'apps')"
|
|
if [ -f 'EMQX_ENTERPRISE' ]; then
|
|
LIB="$(find_app 'lib-ee')"
|
|
else
|
|
LIB="$(find_app 'lib-ce')"
|
|
fi
|
|
## find directories in lib-extra
|
|
LIBE="$(find_app 'lib-extra')"
|
|
## find symlinks in lib-extra
|
|
LIBES="$("$FIND" 'lib-extra' -mindepth 1 -maxdepth 1 -type l -exec test -e {} \; -print)"
|
|
|
|
APPS_ALL="$(echo -e "${EM}\n${SHARED}\n${LIB}\n${LIBE}\n${LIBES}")"
|
|
|
|
if [ "$CT" = 'novalue' ]; then
|
|
RESULT="${APPS_ALL}"
|
|
else
|
|
APPS_NORMAL_CT=( )
|
|
APPS_DOCKER_CT=( )
|
|
for app in ${APPS_ALL}; do
|
|
if [ "$app" = 'apps/emqx_plugin_libs' ]; then
|
|
# This app has no test SUITE
|
|
continue
|
|
fi
|
|
if [ -f "${app}/docker-ct" ]; then
|
|
APPS_DOCKER_CT+=("$app")
|
|
else
|
|
APPS_NORMAL_CT+=("$app")
|
|
fi
|
|
done
|
|
if [ "$CT" = 'docker' ]; then
|
|
RESULT="${APPS_DOCKER_CT[*]}"
|
|
else
|
|
RESULT="${APPS_NORMAL_CT[*]}"
|
|
fi
|
|
fi
|
|
|
|
if [ "$WANT_JSON" = 'yes' ]; then
|
|
echo "${RESULT}" | xargs | tr -d '\n' | jq -R -s -c 'split(" ")'
|
|
else
|
|
echo "${RESULT}"
|
|
fi
|