Skip to content

Instantly share code, notes, and snippets.

@tkatochin
Last active February 3, 2016 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tkatochin/1d01eabac9980e3e9e46 to your computer and use it in GitHub Desktop.
Save tkatochin/1d01eabac9980e3e9e46 to your computer and use it in GitHub Desktop.
GAEのSDKを自動ダウンロードして展開するスクリプト (Mac)
#!/bin/sh
if [ -z $1 ]; then
echo パラメータに appengine sdkのバージョンを指定してね!
exit 1
fi
DRYRUN=
if [ $1 = --dry-run ]; then
shift
DRYRUN=on
fi
if [ -d appengine-java-sdk-$1/bin ]; then
echo すでに appengine-java-sdk-$1 のフォルダができてるよ!
exit 2
fi
if [ -s appengine-java-sdk-$1.zip ]; then
echo appengine-java-sdk-$1 はダウンロード済みなのでそのまま展開します
else
echo appengine-java-sdk-$1 の存在チェック中 \(in featured/\)
DOWNLOAD_URL=https://storage.googleapis.com/appengine-sdks/featured/appengine-java-sdk-$1.zip
retcode=`curl -I -s -o /dev/null $DOWNLOAD_URL -w '%{http_code}'`
echo $retcode
if [ 402 -le $retcode ]; then
echo appengine-java-sdk $1 の存在チェック中 \(in deprecated/\)
export trim_dot_version=`echo $1 | sed -e 's/\\.//g'`
DOWNLOAD_URL=https://storage.googleapis.com/appengine-sdks/deprecated/$trim_dot_version/appengine-java-sdk-$1.zip
retcode=`curl -I -s -o /dev/null $DOWNLOAD_URL -w '%{http_code}'`
echo $retcode
if [ 402 -le $retcode ]; then
echo appengine-java-sdk $1 は featured/ にも deprecated/ にも無いよ!
exit 3
fi
fi
echo appengine-java-sdk-$1 をダウンロード中
if [ -z $DRYRUN ]; then
curl -O $DOWNLOAD_URL
if [ ! -f appengine-java-sdk-$1.zip ]; then
echo あれ~~!? ファイルがダウンロードできない!
exit 4
fi
fi
echo appengine-java-sdk-$1 のダウンロード成功
fi
if [ -z $DRYRUN ]; then
unzip appengine-java-sdk-$1.zip
rm appengine-java-sdk-$1.zip
fi
echo appengine-java-sdk-$1 の展開終了
@tkatochin
Copy link
Author

--dry-run に対応

@tkatochin
Copy link
Author

・リストアップされているのに非公開というステータスがあり、404ではなく403のケースがあったため402以上はエラーとして扱うようにした。
・-o でのORが効かなくなった??ので修正。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment