28e06b39a3
Change-Id: I9c60fbe1b2162d54502ae5c08d49bd3219eadb09
93 lines
2.6 KiB
Bash
Executable File
93 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2017 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
set -eu
|
|
|
|
# Keep this version in sync with dev-contributing.txt.
|
|
VERSION=${1:-1.6}
|
|
|
|
case "$VERSION" in
|
|
1.3)
|
|
SHA1="a73cfe6f9af01bd6ff150c0b50c9d620400f784c"
|
|
;;
|
|
1.5)
|
|
SHA1="b1f79e4d39a3c501f07c0ce7e8b03ac6964ed1f1"
|
|
;;
|
|
1.6)
|
|
SHA1="02b3e84e52d2473e2c4868189709905a51647d03"
|
|
;;
|
|
*)
|
|
echo "unknown google-java-format version: $VERSION"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
root="$(git rev-parse --show-toplevel)"
|
|
if [[ -z "$root" ]]; then
|
|
echo "google-java-format setup requires a git working tree"
|
|
exit 1
|
|
fi
|
|
|
|
dir="$root/tools/format"
|
|
mkdir -p "$dir"
|
|
|
|
name="google-java-format-$VERSION-all-deps.jar"
|
|
url="https://github.com/google/google-java-format/releases/download/google-java-format-$VERSION/$name"
|
|
"$root/tools/download_file.py" -o "$dir/$name" -u "$url" -v "$SHA1"
|
|
|
|
launcher="$dir/google-java-format-$VERSION"
|
|
cat > "$launcher" <<EOF
|
|
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2017 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
function abs_script_dir_path {
|
|
SOURCE=\${BASH_SOURCE[0]}
|
|
while [ -h "\$SOURCE" ]; do
|
|
DIR=\$( cd -P \$( dirname "\$SOURCE") && pwd )
|
|
SOURCE=\$(readlink "\$SOURCE")
|
|
[[ \$SOURCE != /* ]] && SOURCE="\$DIR/\$SOURCE"
|
|
done
|
|
DIR=\$( cd -P \$( dirname "\$SOURCE" ) && pwd )
|
|
echo \$DIR
|
|
}
|
|
|
|
set -e
|
|
|
|
dir="\$(abs_script_dir_path "\$0")"
|
|
exec java -jar "\$dir/$name" "\$@"
|
|
EOF
|
|
|
|
chmod +x "$launcher"
|
|
|
|
cat <<EOF
|
|
Installed launcher script at $launcher
|
|
To set up an alias, add the following to your ~/.bashrc or equivalent:
|
|
alias google-java-format='$launcher'
|
|
EOF
|