2020-12-18 05:16:04 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
|
2022-03-15 10:37:29 +08:00
|
|
|
# Install dependencies in $1.
|
|
|
|
install-deps() {
|
2024-10-18 12:31:28 +08:00
|
|
|
local args=()
|
2021-11-05 00:39:27 +08:00
|
|
|
if [[ ${CI-} ]]; then
|
2024-10-18 12:31:28 +08:00
|
|
|
args+=(ci)
|
|
|
|
else
|
|
|
|
args+=(install)
|
2021-11-05 00:39:27 +08:00
|
|
|
fi
|
2024-10-18 12:31:28 +08:00
|
|
|
# If there is no package.json then npm will look upward and end up installing
|
2022-03-15 10:37:29 +08:00
|
|
|
# from the root resulting in an infinite loop (this can happen if you have not
|
|
|
|
# checked out the submodule yet for example).
|
|
|
|
if [[ ! -f "$1/package.json" ]]; then
|
|
|
|
echo "$1/package.json is missing; did you run git submodule update --init?"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
pushd "$1"
|
2022-01-05 05:02:25 +08:00
|
|
|
echo "Installing dependencies for $PWD"
|
2024-10-18 12:31:28 +08:00
|
|
|
npm "${args[@]}"
|
2022-01-05 05:02:25 +08:00
|
|
|
popd
|
2022-03-15 10:37:29 +08:00
|
|
|
}
|
2022-01-05 05:02:25 +08:00
|
|
|
|
2022-03-15 10:37:29 +08:00
|
|
|
main() {
|
|
|
|
cd "$(dirname "$0")/../.."
|
|
|
|
source ./ci/lib.sh
|
2022-01-05 05:02:25 +08:00
|
|
|
|
2022-03-15 10:37:29 +08:00
|
|
|
install-deps test
|
|
|
|
install-deps test/e2e/extensions/test-extension
|
2022-06-25 00:33:38 +08:00
|
|
|
# We don't need these when running the integration tests
|
|
|
|
# so you can pass SKIP_SUBMODULE_DEPS
|
|
|
|
if [[ ! ${SKIP_SUBMODULE_DEPS-} ]]; then
|
|
|
|
install-deps lib/vscode
|
|
|
|
fi
|
2020-12-18 05:16:04 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
main "$@"
|