2017-01-06 17:13:42 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2017-03-08 01:32:19 +02:00
|
|
|
# Bash Script to replace the current AngularJS version in the node modules.
|
2017-01-06 17:13:42 +01:00
|
|
|
# Accepts a version as an argument. The resolved version will be downloaded, extracted and replaced.
|
|
|
|
|
|
|
|
|
|
CDN="https://code.angularjs.org"
|
|
|
|
|
ANGULAR_FILES=(
|
|
|
|
|
angular
|
|
|
|
|
angular-animate
|
|
|
|
|
angular-route
|
|
|
|
|
angular-aria
|
|
|
|
|
angular-messages
|
|
|
|
|
angular-mocks
|
|
|
|
|
angular-sanitize
|
|
|
|
|
angular-touch
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# The version will be specified from the first argument.
|
|
|
|
|
VERSION=$1
|
|
|
|
|
|
2017-03-08 01:32:19 +02:00
|
|
|
# Download the AngularJS repository for `find-max-versions` if not present.
|
2017-01-06 17:13:42 +01:00
|
|
|
if [ ! -e ./tmp/angular.js/.git ]; then
|
|
|
|
|
# Cleanup potential broken repository files.
|
|
|
|
|
rm -rf ./tmp/angular.js/
|
|
|
|
|
git clone https://github.com/angular/angular.js ./tmp/angular.js
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# this will guarantee that we have the latest versions
|
|
|
|
|
# of AngularJS when testing material in case the HEAD
|
|
|
|
|
# of ./tmp/angular.js is outdated.
|
|
|
|
|
git --git-dir ./tmp/angular.js/.git fetch
|
|
|
|
|
|
|
|
|
|
# Determines the exact version name and the download URL.
|
|
|
|
|
if [ $VERSION == "snapshot" ]; then
|
|
|
|
|
ZIP_FILE_SHA=$(curl "$CDN/snapshot/version.txt")
|
|
|
|
|
ZIP_URL="$CDN/snapshot/angular-$ZIP_FILE_SHA.zip"
|
|
|
|
|
else
|
|
|
|
|
LATEST_VERSION=$(node ./scripts/find-max-version.js $VERSION)
|
|
|
|
|
if [ ! $LATEST_VERSION ]; then
|
|
|
|
|
echo "Error: version "$VERSION" of angular does not exist..."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
VERSION=$LATEST_VERSION
|
|
|
|
|
ZIP_FILE_SHA=$VERSION
|
|
|
|
|
ZIP_URL="$CDN/$VERSION/angular-$VERSION.zip"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
ZIP_FILE="angular-$VERSION.zip"
|
|
|
|
|
ZIP_FILE_PATH="./tmp/$ZIP_FILE"
|
|
|
|
|
BASE_DIR="./tmp/angular-$VERSION"
|
|
|
|
|
|
2017-03-08 01:32:19 +02:00
|
|
|
# Downloads and extracts the resolved AngularJS version.
|
2017-01-06 17:13:42 +01:00
|
|
|
rm -rf $BASE_DIR
|
|
|
|
|
curl $ZIP_URL > $ZIP_FILE_PATH
|
|
|
|
|
unzip -q -d $BASE_DIR $ZIP_FILE_PATH
|
|
|
|
|
mv "$BASE_DIR/angular-$ZIP_FILE_SHA" "$BASE_DIR/files"
|
|
|
|
|
|
2017-03-08 01:32:19 +02:00
|
|
|
# Copies over all AngularJS files into the node modules.
|
2017-01-06 17:13:42 +01:00
|
|
|
for ANGULAR_FILE in "${ANGULAR_FILES[@]}"; do
|
|
|
|
|
REPLACEMENT_FILE="$BASE_DIR/files/$ANGULAR_FILE.js"
|
|
|
|
|
MIN_REPLACEMENT_FILE="$BASE_DIR/files/$ANGULAR_FILE.min.js"
|
|
|
|
|
|
|
|
|
|
NODE_LIB_FILE="./node_modules/$ANGULAR_FILE/$ANGULAR_FILE.js"
|
|
|
|
|
MIN_NODE_LIB_FILE="./node_modules/$ANGULAR_FILE/$ANGULAR_FILE.min.js"
|
|
|
|
|
|
|
|
|
|
rm -f $NODE_LIB_FILE
|
|
|
|
|
cp $REPLACEMENT_FILE $NODE_LIB_FILE
|
|
|
|
|
echo "[copy] copied over $REPLACEMENT_FILE to $NODE_LIB_FILE"
|
|
|
|
|
|
|
|
|
|
if [ -e $MIN_NODE_LIB_FILE ]; then
|
|
|
|
|
rm $MIN_NODE_LIB_FILE
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -e $MIN_REPLACEMENT_FILE ]; then
|
|
|
|
|
cp $MIN_REPLACEMENT_FILE $MIN_NODE_LIB_FILE
|
|
|
|
|
fi
|
|
|
|
|
echo "[copy] copied over $MIN_REPLACEMENT_FILE to $MIN_NODE_LIB_FILE"
|
|
|
|
|
done
|