#!/bin/bash
# Gerrit's hook system is very different from standard git, so
# minor modifications to the hook are required to make it work.
# Place this file in your gerrit/hooks/ref-updated and modify the
# variables below to make it work for you.

GERRIT_HOME=/var/lib/gerrit
GERRIT_GIT=/srv/gerrit/git

GROK_MANIFEST_BIN=/usr/bin/grok-manifest
GROK_MANIFEST_LOG=${GERRIT_HOME}/logs/grok-manifest.log
# You'll need to place this where you can serve it with httpd
# Make sure the gerrit process can write to this location
GROK_MANIFEST=/var/www/html/grokmirror/manifest.js.gz

# Yank out the project out of the passed params
args=$(getopt -l "project:" -- "$@")

eval set -- "$args"
while [ $# -ge 1 ]; do
    case "$1" in
        --)
            # No more options left.
            shift
            break
            ;;
        --project)
            project="$2"
            shift
            ;;
    esac
    shift
done

${GROK_MANIFEST_BIN} -y -w -l ${GROK_MANIFEST_LOG} \
    -m ${GROK_MANIFEST} \
    -t ${GERRIT_GIT} \
    -n "${GERRIT_GIT}/${project}.git"
