blob: 4482b713c5e1f77395ea17b8662351c090ca1d58 [file] [log] [blame]
#!/bin/sh -e
VERSION=$1
if [ -z "$VERSION" ]; then
echo "NO VERSION"
exit 1
fi
echo "Building Apache CouchDB $VERSION"
RELDIR=apache-couchdb-$VERSION
# make release dir
rm -rf $RELDIR
mkdir $RELDIR
CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`
# copy sources over
git archive $CURRENT_BRANCH | tar -xC $RELDIR/ -f -
cd src/
for repo in *; do
cd $repo
if [ -d ".git" ]; then
mkdir -p ../../$RELDIR/src/$repo
git_ish=`git rev-parse --short HEAD`
git archive $git_ish | tar --exclude '*do_not_compile.erl' -xC ../../$RELDIR/src/$repo/ -f -
fi
set +e
grep -rl '{vsn, git}' ../../$RELDIR/src/$repo/ | xargs sed -ie "s/{vsn, git}/{vsn, \"`git describe --always --tags`\"}/" 2> /dev/null
set -e
cd ..
done
cd ..
# create CONTRIBUTORS file
if test -e .git; then
OS=`uname -s`
case "$OS" in
Linux|CYGWIN*) # GNU sed
SED_ERE_FLAG=-r
;;
*) # BSD sed
SED_ERE_FLAG=-E
;;
esac
sed -e "/^#.*/d" CONTRIBUTORS.in > $RELDIR/CONTRIBUTORS
CONTRIB_EMAIL_SED_COMMAND="s/^[[:blank:]]{5}[[:digit:]]+[[:blank:]]/ * /"
git shortlog -se 6c976bd..HEAD \
| grep -v @apache.org \
| sed $SED_ERE_FLAG -e "$CONTRIB_EMAIL_SED_COMMAND" >> $RELDIR/CONTRIBUTORS
echo "" >> $RELDIR/CONTRIBUTORS # simplest portable newline
echo "For a list of authors see the \`AUTHORS\` file." >> $RELDIR/CONTRIBUTORS
fi
# copy our rebar
cp bin/rebar $RELDIR/bin/rebar