melpa/melpa
2012-01-20 21:05:56 -06:00

99 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
BASEDIR=`dirname $0`
cd ${BASEDIR} || exit 1
function melpa_update_epkgs {
echo "Updating epkgs..."
cd epkgs || return 1
git pull
cd ..
echo
}
function melpa_clear_packages {
echo "*** Clearing the packages folder..."
rm packages/*
echo
}
function melpa_build_pkglist {
echo "*** Building all packages..."
for pkg in `cat pkglist`; do
./buildpkg $pkg
echo
echo
done
echo
}
function melpa_build_archive {
echo "Building package: $pkg"
emacs --batch -l package-build.el -u dcurtis --eval "(package-build-archive \"$1\")"
echo
}
function melpa_sync {
echo "*** Pushing changes to the server..."
rsync -avz --delete packages webpage/index.html milkbox.net:webapps/melpa/
echo
}
function melpa_generate_html {
echo "*** Building webpage..."
cd webpage || return 1
erb index.erb
pandoc -s --mathml -t html --smart index.md > index.html
cd ..
echo
}
function print_usage {
echo "usage: $0 [-h | -?] [update | clear | build | html | sync]"
}
args=`getopt h $*`
errcode=$?
if [[ "$errcode" > 0 ]]; then
print_usage
exit $errcode
fi
set -- $args
for i; do
case "$i" in
-h | -\?) print_usage
shift
exit
;;
--) shift
break
;;
esac
done
if [[ "$#" == "0" ]]; then
set -- update clear build index sync
fi
for i; do
case $i in
update ) melpa_update_epkgs ;;
clear ) melpa_clear_packages ;;
build ) melpa_build_pkglist ;;
html | index ) melpa_generate_html ;;
sync ) melpa_sync ;;
esac
shift
done
exit 1