#!/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 buildlist`; 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