blob: 662059e40697a14f096723b62ff28ea9812ef995 [file] [edit]
#!/usr/bin/env bash
cd "$(dirname $0)"
source development/ide-common.sh
function usage() {
show_usage "codew"
echo "VS Code Specific Options:"
echo " --system"
echo " Use the 'code' binary found in PATH instead of the managed version."
echo
exit 1
}
# Parse VS Code specific args
useSystemCode=false
gradleArgs=()
for arg; do
if [ "$arg" == "--system" ]; then
useSystemCode=true
else
gradleArgs+=("$arg")
fi
done
if ! parse_ide_args "${gradleArgs[@]}"; then
usage
fi
setup_env "codew"
if [ "$reinstall" == "true" ]; then
# remove our managed VS Code itself so Gradle will re-download it
rm -rf vscode
fi
if [ "$cleanSettings" == "true" ]; then
# make backups of files that users might have customized
backup_and_remove .vscode "vscode-backup"
backup_and_remove ~/.VSCodeAndroidX "vscode-backup"
fi
if [ "$clearCaches" == "true" ]; then
git clean -fdX .vscode/
fi
if [ "$useSystemCode" == "true" ]; then
if command -v code >/dev/null 2>&1; then
if [ "$clearCaches" == "true" ]; then
./cleanBuild.sh -y :help
fi
echo "Found 'code' in PATH. Launching VS Code from PATH..."
source development/build-environment/build-environment.sh
code .
else
echo "Error: --system specified but 'code' not found in PATH."
exit 1
fi
else
echo "Launching managed VS Code..."
extraArgs=()
if [ "$acceptTos" == "true" ]; then
extraArgs+=("--acceptTos")
fi
if [ "$clearCaches" == "true" ]; then
./cleanBuild.sh -y :vscode "${extraArgs[@]}"
else
./gradlew :vscode "${extraArgs[@]}"
fi
fi