#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source /etc/ulibauto || exit 1

function display_help() {
    uecho "$scriptname: construire $NAME

USAGE
    $scriptname [options]

OPTIONS
    -b, --build
    -n, --no-cache"
}

function do_prereqs() {
    :
}
function do_build() {
    local date; local -a args
    setx date=date +%y%m%d
    args=(
        -f Dockerfile
        -t $NAME:latest
        --build-arg "date=$date"
        ${no_cache:+--no-cache}
    )

    etitle "Création de l'image docker $NAME" \
        docker build "${args[@]}" "$CTXDIR"
}
function do_run() {
    docker run -it --rm "$NAME"
}

cd "$scriptdir"
source ./build.env || die "Impossible de trouver build.env"
[ -f build.env.local ] && source build.env.local

auto=1
prereqs=
build=
no_cache=
run=
args=(
    --help '$exit_with display_help'
    --prereqs '$prereqs=1; auto='
    -b,--build '$build=1; auto='
    -n,--no-cache no_cache=1
    -r,--run '$run=1; auto='
)
parse_args "$@"; set -- "${args[@]}"

if [ -n "$prereqs" ]; then
    build=
    run=
elif [ -n "$auto" ]; then
    build=1
fi

if [ -n "$prereqs" ]; then
    do_prereqs "$@" || die
fi

if [ -n "$build" ]; then
    do_build "$@" || die
fi

if [ -n "$run" ]; then
    do_run "$@" || die
fi