ponysay/dev/dist.sh
2012-10-30 21:39:56 +01:00

90 lines
2.5 KiB
Bash
Executable file

#!/usr/bin/env bash
# USAGE: dev/dist.sh ttyponies
# or dev/dist.sh pdfmanual
# or dev/dist.sh tag VERSION [OTHER OPTIONS FOR `git tag`]
# or dev/dist.sh beigepdf
ttyponies()
{
mkdir -p "ttyponies"
for pony in $(ls --color=no "ponies/"); do
if [ ! "$pony" = '.info' ]; then
echo "building ttypony: $pony"
if [ "`readlink "ponies/$pony"`" = '' ]; then
./ponysay-tool.py --edit-stash "ponies/$pony" > ".pony.metadata~"
./ponysay-tool.py --edit-rm "ponies/$pony"
ponysay2ttyponysay < "ponies/$pony" | tty2colourfultty -c 1 > "ttyponies/$pony"
./ponysay-tool.py --edit-apply "ponies/$pony" < ".pony.metadata~"
./ponysay-tool.py --edit-apply "ttyponies/$pony" < ".pony.metadata~"
git add "ttyponies/$pony"
else
ln -sf `readlink "ponies/$pony"` "ttyponies/$pony"
git add "ttyponies/$pony"
fi
fi
done
mkdir -p "extrattyponies"
for pony in $(ls --color=no "extraponies/"); do
if [ ! "$pony" = '.info' ]; then
echo "building extrattypony: $pony"
if [ "`readlink "extraponies/$pony"`" = '' ]; then
./ponysay-tool.py --edit-stash "extraponies/$pony" > ".pony.metadata~"
./ponysay-tool.py --edit-rm "extraponies/$pony"
ponysay2ttyponysay < "extraponies/$pony" | tty2colourfultty -c 1 > "extrattyponies/$pony"
./ponysay-tool.py --edit-apply "extraponies/$pony" < ".pony.metadata~"
./ponysay-tool.py --edit-apply "extrattyponies/$pony" < ".pony.metadata~"
git add "extrattyponies/$pony"
else
ln -sf `readlink "extraponies/$pony"` "extrattyponies/$pony"
git add "extrattyponies/$pony"
fi
fi
done
rm ".pony.metadata~"
}
pdfmanual()
{
texi2pdf "manuals/ponysay.texinfo"
for ext in `echo aux cp cps fn ky log pg toc tp vr op ops pgs vrs bak`; do
if [ -f "ponysay.$ext" ]; then
unlink "ponysay.$ext"
fi
done
if [ -d "ponysay.t2d" ]; then
rm -r "ponysay.t2d";
fi
git add "manuals/ponysay.texinfo" "ponysay.pdf"
}
beigepdf()
{
pdfjam --pagecolor 249,246,240 -o "ponysay+beige.pdf" "ponysay.pdf"
}
pdf()
{
pdfmanual "$@"
}
tag()
{
version=`./setup.py version`
if [ "$version" = 'Ponysay '"$1"' installer' ]; then
git tag -a "$@" && git checkout "$1" && git push -u origin "$1"
else
echo 'Setup script reports. '"$version"
echo 'This is not consistent with desired tag version: '"$1"
echo 'Make sure the version is correct in setup.py and that all change logs are up to date'
fi
}
[ "$1" = './dist.sh' ] && cd ..
"$@"