From 3fcd228441a70bd69090aa6d5c01ad194a4dd10c Mon Sep 17 00:00:00 2001 From: Brian Ford Date: Fri, 22 Nov 2013 16:41:17 -0800 Subject: [PATCH] chore: add script for updating bower repos --- .gitignore | 1 + scripts/bower/README.md | 23 +++++++++++ scripts/bower/init.sh | 28 +++++++++++++ scripts/bower/publish.sh | 87 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 139 insertions(+) create mode 100644 scripts/bower/README.md create mode 100755 scripts/bower/init.sh create mode 100755 scripts/bower/publish.sh diff --git a/.gitignore b/.gitignore index 707c88dc252c..dcf59c4cf5b3 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ angular.xcodeproj libpeerconnection.log npm-debug.log /tmp/ +/scripts/bower/bower-* diff --git a/scripts/bower/README.md b/scripts/bower/README.md new file mode 100644 index 000000000000..348d66ac5073 --- /dev/null +++ b/scripts/bower/README.md @@ -0,0 +1,23 @@ +# Angular Bower Script + +Script for updating the Angular bower repos from a code.angularjs.org package + +Requires `node` (for parsing `bower.json`) and `wget` (for fetching the `angular.zip` from `code.angularjs.org`) + + +## Instructions + +You need to run `./init.sh` the first time you use this script to clone all the repos. + +For subsequent updates: + +```shell +./publish.sh NEW_VERSION +``` + +Where `NEW_VERSION` is a version number like `1.2.3`. + + +## License +MIT + diff --git a/scripts/bower/init.sh b/scripts/bower/init.sh new file mode 100755 index 000000000000..74f310b0bed4 --- /dev/null +++ b/scripts/bower/init.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# +# init all of the bower repos +# + +set -e # fail if any command fails + +REPOS=( + angular \ + angular-animate \ + angular-cookies \ + angular-i18n \ + angular-loader \ + angular-mocks \ + angular-route \ + angular-resource \ + angular-sanitize \ + angular-scenario \ + angular-touch \ +) + +cd `dirname $0` + +for repo in "${REPOS[@]}" +do + git clone git@github.com:angular/bower-$repo.git +done diff --git a/scripts/bower/publish.sh b/scripts/bower/publish.sh new file mode 100755 index 000000000000..7420257c7c71 --- /dev/null +++ b/scripts/bower/publish.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# +# update all the things +# + +set -e # fail if any command fails + +cd `dirname $0` + +NEW_VERSION=$1 + +ZIP_FILE=angular-$NEW_VERSION.zip +ZIP_FILE_URL=http://code.angularjs.org/$NEW_VERSION/angular-$NEW_VERSION.zip +ZIP_DIR=angular-$NEW_VERSION + +REPOS=( + angular \ + angular-animate \ + angular-cookies \ + angular-i18n \ + angular-loader \ + angular-mocks \ + angular-route \ + angular-resource \ + angular-sanitize \ + angular-scenario \ + angular-touch \ +) + + +# +# download and unzip the file +# + +#wget $ZIP_FILE_URL +unzip $ZIP_FILE + + +# +# move the files from the zip +# + +for repo in "${REPOS[@]}" +do + if [ -f $ZIP_DIR/$repo.js ] # ignore i18l + then + cd bower-$repo + git checkout master + git reset --hard HEAD + cd .. + mv $ZIP_DIR/$repo.* bower-$repo/ + fi +done + +# move i18n files +mv $ZIP_DIR/i18n/*.js bower-angular-i18n/ + +# move csp.css +mv $ZIP_DIR/angular-csp.css bower-angular + + +# +# get the old version number +# + +OLD_VERSION=$(node -e "console.log(require('./bower-angular/bower').version)" | sed -e 's/\r//g') +echo $OLD_VERSION +echo $NEW_VERSION + +# +# update bower.json +# tag each repo +# + +for repo in "${REPOS[@]}" +do + cd bower-$repo + pwd + sed -i '' -e "s/$OLD_VERSION/$NEW_VERSION/g" bower.json + git add -A + git commit -m "v$NEW_VERSION" + git tag v$NEW_VERSION + git push origin master + git push origin v$NEW_VERSION + cd .. +done