#!/bin/bash set -e set -u APPSH_HOME=$(cd $(dirname "$0")/.. && pwd) . $APPSH_HOME/lib/common # HEADER END usage() { echo "usage: $0 -d dir " exit 1 } fatal() { echo "$0: $@" exit 1 } while getopts "d:" opt do case $opt in d) dir=$OPTARG shift 2 OPTIND=1 ;; esac done if [ $# -lt 1 ] then usage fi resolver_name="$1"; shift if [ -z "$dir" ] then usage fi if [ -e "$dir" ] then fatal "Already initialized: $dir" 2>&1 fi # TODO: install a trap handler and rm -rf "$dir" resolver=`grep_path "/app-resolver-$resolver_name$" "$PATH:$APPSH_HOME/libexec" | head -n 1` if [ -z "$resolver" ] then echo "No such resolver: $resolver_name" 2>&1 exit 1 fi mkdir -- "$dir" "$dir/.app" cd "$dir" app-conf set app.resolver "$resolver_name" "$resolver" init "$@" "$resolver" resolve-version version=`app-conf get app.version` if [[ $version == "" ]] then echo "Unable to resolve version" 2>&1 exit fi echo "Resolved version to $version" "$resolver" download-version -v "$version" -f .app/latest.zip