mirror of
https://github.com/jnunemaker/httparty
synced 2023-03-27 23:23:07 -04:00
Added script/release.
This commit is contained in:
parent
ff0217c6da
commit
a5bb25aeec
1 changed files with 42 additions and 0 deletions
42
script/release
Executable file
42
script/release
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#/ Usage: release
|
||||||
|
#/
|
||||||
|
#/ Tag the version in the repo and push the gem.
|
||||||
|
#/
|
||||||
|
|
||||||
|
set -e
|
||||||
|
cd $(dirname "$0")/..
|
||||||
|
|
||||||
|
[ "$1" = "--help" -o "$1" = "-h" -o "$1" = "help" ] && {
|
||||||
|
grep '^#/' <"$0"| cut -c4-
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
gem_name=httparty
|
||||||
|
|
||||||
|
# Build a new gem archive.
|
||||||
|
rm -rf $gem_name-*.gem
|
||||||
|
gem build -q $gem_name.gemspec
|
||||||
|
|
||||||
|
# Make sure we're on the master branch.
|
||||||
|
(git branch | grep -q '* master') || {
|
||||||
|
echo "Only release from the master branch."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Figure out what version we're releasing.
|
||||||
|
tag=v`ls $gem_name-*.gem | sed "s/^$gem_name-\(.*\)\.gem$/\1/"`
|
||||||
|
|
||||||
|
echo "Releasing $tag"
|
||||||
|
|
||||||
|
# Make sure we haven't released this version before.
|
||||||
|
git fetch -t origin
|
||||||
|
|
||||||
|
(git tag -l | grep -q "$tag") && {
|
||||||
|
echo "Whoops, there's already a '${tag}' tag."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Tag it and bag it.
|
||||||
|
gem push $gem_name-*.gem && git tag "$tag" &&
|
||||||
|
git push origin master && git push origin "$tag"
|
Loading…
Reference in a new issue