| #!/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 |