@@ -6,12 +6,26 @@ NAME=bson
66RELEASE_NAME=bson-ruby-release
77VERSION_REQUIRE=bson/version
88VERSION_CONSTANT_NAME=BSON::VERSION
9+ CMD=echo
910
1011if ! test -f gem-private_key.pem; then
1112 echo " gem-private_key.pem missing - cannot release" 1>&2
1213 exit 1
1314fi
1415
16+ if test -z " $PRODUCTION_RELEASE " ; then
17+ echo " PRODUCTION_RELEASE is not set. The script will run in 'dry run'"
18+ echo " mode. The gems will be built, but not actually published. To"
19+ echo " publish the gems, set the PRODUCTION_RELEASE env variable to 1 and"
20+ echo " re-run this script."
21+ else
22+ echo " PRODUCTION_RELEASE is set. Gems will be built and published."
23+ CMD=' '
24+ fi
25+
26+ echo
27+ read -p " -- Press RETURN to continue, or CTRL-C to abort --"
28+
1529VERSION=` ruby -Ilib -r$VERSION_REQUIRE -e " puts $VERSION_CONSTANT_NAME " `
1630
1731echo " Releasing $NAME $VERSION "
@@ -41,8 +55,13 @@ echo Built: $NAME-$VERSION.gem
4155echo Built: $NAME -$VERSION -java.gem
4256echo
4357
44- git tag -a v$VERSION -m " Tagging release: $VERSION "
45- git push origin v$VERSION
58+ if test -z " $PRODUCTION_RELEASE " ; then
59+ echo " *** SHOWING COMMANDS IN 'DRY RUN' MODE ***"
60+ echo
61+ fi
62+
63+ $CMD git tag -a v$VERSION -m " Tagging release: $VERSION "
64+ $CMD git push origin v$VERSION
4665
47- gem push $NAME -$VERSION .gem
48- gem push $NAME -$VERSION -java.gem
66+ $CMD gem push $NAME -$VERSION .gem
67+ $CMD gem push $NAME -$VERSION -java.gem
0 commit comments