aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/code.angularjs.org
diff options
context:
space:
mode:
authorTobias Bosch2014-01-06 12:19:51 -0800
committerTobias Bosch2014-01-06 12:27:54 -0800
commit5dc27959d5c0e45cc0cc6133a9ef676cc15d44bd (patch)
treeecc31ec61ff67169774d529d487f819616638a01 /scripts/code.angularjs.org
parent4c21355940a98c7236a33d1b5e86d6cd3cf562cb (diff)
downloadangular.js-5dc27959d5c0e45cc0cc6133a9ef676cc15d44bd.tar.bz2
chore(build): refactor build scripts in prepare/publish phase
Refactored all scripts so that they are divided into a `prepare` and a `publish` phase. By this we can build, test, tag, commit everything first. Only if all of this is ok we start pushing to Github. By this we keep Github consistent even in error cases. Extracted include script `/scripts/utils.inc`: - parse and validate named arguments in the style `--name=value` - proxy git command and deactivate `git push` based on command option `--git_push_dry_run=true` (will be inherited to child scripts) - enable/disable bash debug mode by command option `--verbose=true` - dispatch to functions based on command option `--action=...` - helper functions for dealing with json files
Diffstat (limited to 'scripts/code.angularjs.org')
-rw-r--r--scripts/code.angularjs.org/README.md18
-rwxr-xr-xscripts/code.angularjs.org/publish.sh123
2 files changed, 67 insertions, 74 deletions
diff --git a/scripts/code.angularjs.org/README.md b/scripts/code.angularjs.org/README.md
deleted file mode 100644
index e3887004..00000000
--- a/scripts/code.angularjs.org/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# code.angular.js.org Script
-
-Script for updating code.angularjs.org repo from current local build.
-
-Note: For a snapshot build, this will fetch the data from the ci server
-and NOT take the local build!
-
-## Instructions
-
-`grunt package`: Build angular locally
-
-```shell
-./publish.sh
-```
-
-## License
-MIT
-
diff --git a/scripts/code.angularjs.org/publish.sh b/scripts/code.angularjs.org/publish.sh
index 352ac10b..4845ad2a 100755
--- a/scripts/code.angularjs.org/publish.sh
+++ b/scripts/code.angularjs.org/publish.sh
@@ -1,62 +1,73 @@
#!/bin/bash
+# Script for updating code.angularjs.org repo from current local build.
+
echo "#################################"
echo "## Update code.angular.js.org ###"
echo "#################################"
-# Enable tracing and exit on first failure
-set -xe
-# Normalize working dir to script dir
-cd `dirname $0`
-
-TMP_DIR=../../tmp
-REPO_DIR=$TMP_DIR/code.angularjs.org
-BUILD_DIR=../../build
-SCRIPT_DIR=`pwd`
-NEW_VERSION=`cat $BUILD_DIR/version.txt`
-
-#
-# Snapshot builds are kept in a temp directory in code.angularjs.org
-# that is filled by calling a php script there.
-#
-if [[ "$NEW_VERSION" =~ sha ]] ;then
- echo "-- updating snapshot version"
- curl -G --data-urlencode "ver=$NEW_VERSION" http://code.angularjs.org/fetchLatestSnapshot.php
- exit 0;
-fi
-
-#
-# clone
-#
-
-echo "-- Cloning code.angularjs.org"
-git clone git@github.com:angular/code.angularjs.org.git $REPO_DIR
-
-#
-# copy the files from the build
-#
-
-echo "-- Updating code.angularjs.org"
-mkdir $REPO_DIR/$NEW_VERSION
-cd $REPO_DIR
-git reset --hard HEAD
-git checkout master
-git fetch --all
-git reset --hard origin/master
-cd $SCRIPT_DIR
-cp -r $BUILD_DIR/* $REPO_DIR/$NEW_VERSION/
-
-#
-# commit and push
-#
-echo "-- Committing and pushing code.angularjs.org"
-cd $REPO_DIR
-git add -A
-git commit -m "v$NEW_VERSION"
-git push origin master
-cd $SCRIPT_DIR
-
-#
-# refresh code.angularjs.org from github
-#
-curl http://code.angularjs.org/gitFetchSite.php \ No newline at end of file
+ARG_DEFS=(
+ "--action=(prepare|publish)"
+)
+
+function init {
+ TMP_DIR=$(resolveDir ../../tmp)
+ BUILD_DIR=$(resolveDir ../../build)
+ REPO_DIR=$TMP_DIR/code.angularjs.org
+ NEW_VERSION=$(cat $BUILD_DIR/version.txt)
+ if [[ "$NEW_VERSION" =~ sha ]]; then
+ IS_SNAPSHOT_BUILD=true
+ else
+ IS_SNAPSHOT_BUILD=
+ fi
+}
+
+function prepare {
+ if [[ $IS_SNAPSHOT_BUILD ]]; then
+ # nothing to prepare for snapshot builds as
+ # code.angularjs.org will fetch the current snapshot from
+ # the build server during publish
+ exit 0
+ fi
+
+ echo "-- Cloning code.angularjs.org"
+ git clone git@github.com:angular/code.angularjs.org.git $REPO_DIR
+
+ #
+ # copy the files from the build
+ #
+ echo "-- Updating code.angularjs.org"
+ mkdir $REPO_DIR/$NEW_VERSION
+ cd $REPO_DIR
+ git reset --hard HEAD
+ git checkout master
+ git fetch --all
+ git reset --hard origin/master
+ cd $SCRIPT_DIR
+ cp -r $BUILD_DIR/* $REPO_DIR/$NEW_VERSION/
+
+ #
+ # commit
+ #
+ echo "-- Committing code.angularjs.org"
+ cd $REPO_DIR
+ git add -A
+ git commit -m "v$NEW_VERSION"
+}
+
+function publish {
+ if [[ $IS_SNAPSHOT_BUILD ]]; then
+ echo "-- Updating snapshot version"
+ curl -G --data-urlencode "ver=$NEW_VERSION" http://code.angularjs.org/fetchLatestSnapshot.php
+ exit 0;
+ fi
+
+ cd $REPO_DIR
+ echo "-- Pushing code.angularjs.org"
+ git push origin master
+
+ echo "-- Refreshing code.angularjs.org"
+ curl http://code.angularjs.org/gitFetchSite.php
+}
+
+source $(dirname $0)/../utils.inc