Skip to content

Commit

Permalink
chore: add script for updating bower repos
Browse files Browse the repository at this point in the history
  • Loading branch information
btford committed Nov 25, 2013
1 parent 8383ecf commit 3fcd228
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ angular.xcodeproj
libpeerconnection.log
npm-debug.log
/tmp/
/scripts/bower/bower-*
23 changes: 23 additions & 0 deletions scripts/bower/README.md
Original file line number Diff line number Diff line change
@@ -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

28 changes: 28 additions & 0 deletions scripts/bower/init.sh
Original file line number Diff line number Diff line change
@@ -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 [email protected]:angular/bower-$repo.git
done
87 changes: 87 additions & 0 deletions scripts/bower/publish.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 3fcd228

Please sign in to comment.