aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/angular.js/publish-cdn-version.sh30
-rwxr-xr-xscripts/angularjs.org/publish.sh47
-rwxr-xr-xscripts/jenkins/release-after-cdn.sh39
-rwxr-xr-xscripts/jenkins/release.sh3
-rw-r--r--scripts/utils.inc7
5 files changed, 125 insertions, 1 deletions
diff --git a/scripts/angular.js/publish-cdn-version.sh b/scripts/angular.js/publish-cdn-version.sh
new file mode 100755
index 00000000..ed5ce43e
--- /dev/null
+++ b/scripts/angular.js/publish-cdn-version.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Script for updating cdnVersion of angular.js
+
+echo "###################################"
+echo "## Update angular.js cdnVersion ###"
+echo "###################################"
+
+ARG_DEFS=(
+ "--cdn-version=(.*)"
+ "--action=(prepare|publish)"
+)
+
+function init {
+ cd ../..
+}
+
+function prepare {
+ replaceJsonProp "package.json" "cdnVersion" "(.*)" "$CDN_VERSION"
+ git add package.json
+ git commit -m "chore(release): update cdn version"
+}
+
+function publish {
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
+ # push the commits to github
+ git push origin $BRANCH
+}
+
+source $(dirname $0)/../utils.inc
diff --git a/scripts/angularjs.org/publish.sh b/scripts/angularjs.org/publish.sh
new file mode 100755
index 00000000..1efb621b
--- /dev/null
+++ b/scripts/angularjs.org/publish.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Script for updating angularjs.org repo
+
+echo "#################################"
+echo "##### Update angularjs.org ######"
+echo "#################################"
+
+ARG_DEFS=(
+ "--action=(prepare|publish)"
+ "--cdn-version=(.*)"
+)
+
+function init {
+ TMP_DIR=$(resolveDir ../../tmp)
+ REPO_DIR=$TMP_DIR/angularjs.org
+}
+
+function prepare {
+ echo "-- Cloning angularjs.org"
+ git clone git@github.com:angular/angularjs.org.git $REPO_DIR
+
+ #
+ # update files
+ #
+ echo "-- Updating angularjs.org"
+ cd $REPO_DIR
+ VERSION_REGEX="[a-z0-9\-\.\+]+"
+
+ replaceInFile "index.html" "(ajax\/libs\/angularjs\/)$VERSION_REGEX" "\1$CDN_VERSION"
+ replaceInFile "index.html" "(<span class=\"version\">[^<]*<span>)$VERSION_REGEX" "\1$CDN_VERSION"
+ replaceInFile "index.html" "(code.angularjs.org\/)$VERSION_REGEX" "\1$CDN_VERSION"
+
+ replaceInFile "js/homepage.js" "($scope.CURRENT_STABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION"
+ replaceInFile "js/homepage.js" "($scope.CURRENT_UNSTABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION"
+
+ git add index.html
+ git add js/homepage.js
+ git commit -m "update(version): update angular version to $CDN_VERSION"
+}
+
+function publish {
+ cd $REPO_DIR
+ echo "-- Pushing angularjs.org"
+ git push origin master
+}
+
+source $(dirname $0)/../utils.inc
diff --git a/scripts/jenkins/release-after-cdn.sh b/scripts/jenkins/release-after-cdn.sh
new file mode 100755
index 00000000..7623e177
--- /dev/null
+++ b/scripts/jenkins/release-after-cdn.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+ARG_DEFS=(
+ # require the git dryrun flag so the script can't be run without
+ # thinking about this!
+ "--git-push-dryrun=(true|false)"
+)
+
+function findLatestRelease {
+ # returns e.g. v1.2.7
+ LATEST_TAG=$(git describe --abbrev=0 --tags)
+ # returns e.g. 1.2.7
+ echo ${LATEST_TAG:1}
+}
+
+function init {
+ NG_ARGS=("$@")
+ if [[ ! $VERBOSE ]]; then
+ VERBOSE=false
+ fi
+ VERBOSE_ARG="--verbose=$VERBOSE"
+}
+
+function phase {
+ ACTION_ARG="--action=$1"
+ CDN_VERSION_ARG="--cdn-version=$LATEST_VERSION"
+ ./scripts/angular.js/publish-cdn-version.sh $ACTION_ARG $CDN_VERSION_ARG $VERBOSE_ARG
+ ./scripts/angularjs.org/publish.sh $ACTION_ARG $CDN_VERSION_ARG $VERBOSE_ARG
+}
+
+function run {
+ cd ../..
+ LATEST_VERSION=$(findLatestRelease)
+
+ phase prepare
+ phase publish
+}
+
+source $(dirname $0)/../utils.inc \ No newline at end of file
diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh
index 1b1bd26e..744a1a28 100755
--- a/scripts/jenkins/release.sh
+++ b/scripts/jenkins/release.sh
@@ -7,6 +7,9 @@ echo "#################################"
ARG_DEFS=(
"--next-version-type=(patch|minor|major)"
"--next-version-name=(.+)"
+ # require the git dryrun flag so the script can't be run without
+ # thinking about this!
+ "--git-push-dryrun=(true|false)"
"[--no-test=(true|false)]"
)
diff --git a/scripts/utils.inc b/scripts/utils.inc
index 3b0039ed..00213628 100644
--- a/scripts/utils.inc
+++ b/scripts/utils.inc
@@ -202,7 +202,12 @@ function readJsonProp {
# - note: propertyRegex will be automatically placed into a
# capturing group! -> all other groups start at index 2!
function replaceJsonProp {
- sed -i .tmp -E 's/"('$2')"[ ]*:[ ]*"'$3'"/"\1": "'$4'"/' $1
+ replaceInFile $1 '"('$2')"[ ]*:[ ]*"'$3'"' '"\1": "'$4'"'
+}
+
+# replaceInFile(file, findPattern, replacePattern)
+function replaceInFile {
+ sed -i .tmp -E "s/$2/$3/" $1
rm $1.tmp
}