* jQuery autocomplete requires complex hacks to work out and look select-ish * select2 is more straightforward to use for people expecting <select> as it's styled similarly to a (non-standard) select * select2 includes built-in support for groups, no need to hack it via interspersed fake options * select2 provides a nice [x] button to remove the current choice without having to e.g. manually remove the content of the input Why select2 instead of Chosen? Because Chosen isn't really setup to work from array data, it wants selects serialized in the DOM, and while the webkit bug I'd identified previously (see web client revid:xmo@openerp.com-20110922085812-3u1esk6czraskm01) seems fixed in the very latest webkits, it's still present in e.g. Safari 5.1 which I'm using. So there. And chosen's APIDoc is almost as bad as OpenERP's. bzr revid: xmo@openerp.com-20120906103516-h94e6hd76w41bmyx
78 lines
1.4 KiB
Bash
Executable File
78 lines
1.4 KiB
Bash
Executable File
#!/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"
|
|
releasedir="/tmp/$release"
|
|
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 sed -i -e "$tokens"
|
|
find . -name "$css" | xargs sed -i -e "$tokens"
|
|
|
|
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 "Archiving..."
|
|
|
|
rm -rf "$releasedir"
|
|
mkdir "$releasedir"
|
|
|
|
cp $name.* "$releasedir"
|
|
cp spinner.gif "$releasedir"
|
|
cp README.* "$releasedir"
|
|
|
|
zip -r "$releasedir.zip" "$releasedir"
|
|
rm -rf "$releasedir"
|
|
|
|
echo "Cleaning Up..."
|
|
|
|
git checkout "$curbranch"
|
|
git branch -D "$branch"
|
|
|
|
echo "Done. Release archive created: $releasedir.zip"
|