概要
なんかもうシリーズ化している上にいつまで続くのこのシリーズという感じですが、
たぶん今回で終わりです。
いままで作ったシェルスクリプトを並べてだけのシェルスクリプト
my_motion_createを作りました。
#!/bin/zsh maketravis makeiossdk makereadme
このコマンドを叩くだけで、以下のことを一括でやってくれます。
- TravisCIまわりの設定
- READMEの作成及びGemnasium TravisCIバッジの追加
- TestFlightSDKのダウンロード及び配置
やはりREADMEにバッジがあると嬉しいよね。もっと言うと
バッジが緑だと安心するよね。
という優越感を見たすためだけにmakereadmeコマンドは存在します。
各シェルスクリプトについて
maketravis
#! /bin/zsh if [ ! -e .travis.yml ];then echo "\033[0;32m"'Making .travis.yml ....'"\033[0;39m" touch .travis.yml cat << EOT >> .travis.yml language: objective-c before_install: ruby --version EOT echo "\033[0;32m"'Finish ....'"\033[0;39m" travis sync travis enable else echo "\033[0;31m"'.travis.yml already exists!'"\033[0;39m" fi
makeiossdk
#! /bin/zsh if [ -e vendor/TestFlightSDK2.0.2 ]; then echo "\033[0;31m"'Directory vendor/TestFlightSDK2.0.2 already exists! '"\033[0;39m" else echo "\033[0;32m"'Downloading TestFlightSDK2.0.2.zip from https://testflightapp.com/sdk/download/94/'"\033[0;39m" curl -O https://d193ln56du8muy.cloudfront.net/sdk/1380588410/TestFlightSDK2.0.2.zip echo "\033[0;32m"'Making directory vendor and unzip donload file ....'"\033[0;39m" mkdir vendor unzip TestFlightSDK2.0.2.zip -d vendor/TestFlightSDK2.0.2 rm -f TestFlightSDK2.0.2.zip echo "\033[0;32m"'Remove zip file ....'"\033[0;39m" echo "\033[0;32m"'Done ....'"\033[0;39m" fi
makereadme
#!/bin/zsh CURRENT_REPOSITORY () { ref=$(git symbolic-ref HEAD 2> /dev/null) || ref=$(git rev-parse --short HEAD 2> /dev/null) || return echo $(git remote -v | cut -d':' -f 2) } CURRENT_REPOSITORY_USER_NAME () { echo ${$(CURRENT_REPOSITORY | awk '{print $1}')%.git} } CURRENT_REPOSITORY_DIRECTORY=`git rev-parse --show-toplevel` CURRENT_REPOSITORY_NAME=$(basename $CURRENT_REPOSITORY_DIRECTORY) if [ ! -e README.md ];then echo "\033[0;32m"'Making .travis.yml ....'"\033[0;39m" touch README.md cat << EOT >> README.md ${CURRENT_REPOSITORY_NAME} =============== [![Build Status](https://travis-ci.org/$(CURRENT_REPOSITORY_USER_NAME).png)](https://travis-ci.org/$(CURRENT_REPOSITORY_USER_NAME)) [![Dependency Status](https://gemnasium.com/$(CURRENT_REPOSITORY_USER_NAME).png)](https://gemnasium.com/$(CURRENT_REPOSITORY_USER_NAME)) EOT echo "\033[0;32m"'Finish ....'"\033[0;39m" else echo "\033[0;31m"'README.md already exists!'"\033[0;39m" fi
ポイント
ファイルの有無の確認 シェルスクリプトでファイル存在確認 - fantasista_ikの日記
if [ ! -e .travis.yml ];then
ディレクトリの有無の確認 [Bash] ファイルやディレクトリの存在をチェックする方法
if [ -e vendor/TestFlightSDK2.0.2 ]; then
echo に色をつける シェルでechoの文字に色をつける方法 - webネタ
ASCII Table - ANSI Escape sequences
echo "\033[0;32m"'Finish ....'"\033[0;39m"