64 lines
1.1 KiB
Bash
64 lines
1.1 KiB
Bash
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
echo -n "Enter the version for this release: "
|
||
|
|
||
|
read ver
|
||
|
|
||
|
if [ ! $ver ]; then
|
||
|
echo "Invalid version."
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
name="select2"
|
||
|
js="$name.js"
|
||
|
mini="$name.min.js"
|
||
|
css="$name.css"
|
||
|
release="$name-$ver"
|
||
|
tag="release-$ver"
|
||
|
branch="build-$ver"
|
||
|
curbranch=`git branch | grep "*" | sed "s/* //"`
|
||
|
timestamp=$(date)
|
||
|
tokens="s/@@ver@@/$ver/g;s/\@@timestamp@@/$timestamp/g"
|
||
|
remote="github"
|
||
|
|
||
|
git branch "$branch"
|
||
|
git checkout "$branch"
|
||
|
|
||
|
echo "Tokenizing..."
|
||
|
|
||
|
find . -name "$js" | xargs -I{} sed -e "$tokens" -i "" {}
|
||
|
find . -name "$css" | xargs -I{} sed -e "$tokens" -i "" {}
|
||
|
|
||
|
git add "$js"
|
||
|
git add "$css"
|
||
|
|
||
|
echo "Minifying..."
|
||
|
|
||
|
echo "/*" > "$mini"
|
||
|
cat LICENSE | sed "$tokens" >> "$mini"
|
||
|
echo "*/" >> "$mini"
|
||
|
|
||
|
curl -s \
|
||
|
-d compilation_level=SIMPLE_OPTIMIZATIONS \
|
||
|
-d output_format=text \
|
||
|
-d output_info=compiled_code \
|
||
|
--data-urlencode "js_code@$js" \
|
||
|
http://closure-compiler.appspot.com/compile \
|
||
|
>> "$mini"
|
||
|
|
||
|
git add "$mini"
|
||
|
|
||
|
git commit -m "release $ver"
|
||
|
|
||
|
echo "Tagging..."
|
||
|
git tag -a "$tag" -m "tagged version $ver"
|
||
|
git push "$remote" --tags
|
||
|
|
||
|
echo "Cleaning Up..."
|
||
|
|
||
|
git checkout "$curbranch"
|
||
|
git branch -D "$branch"
|
||
|
|
||
|
echo "Done"
|