From 297a26aa20ee69e166b85a3ee057419b6a9a7cc4 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 11 Mar 2019 21:47:46 -0400 Subject: [PATCH] feat: implement version flags This moves the version command to the dokku binary, and also implements both -v and --version flags on the binary. --- dokku | 11 +++++++- plugins/00_dokku-standard/subcommands/version | 12 -------- tests/unit/10_version.bats | 28 +++++++++++++++++++ 3 files changed, 38 insertions(+), 13 deletions(-) delete mode 100755 plugins/00_dokku-standard/subcommands/version create mode 100644 tests/unit/10_version.bats diff --git a/dokku b/dokku index 7ef85d3ff..3ec818777 100755 --- a/dokku +++ b/dokku @@ -66,6 +66,9 @@ skip_arg=false if [[ "${args[0]}" =~ ^--.* ]]; then for arg in "$@"; do $skip_arg && skip_arg=false && continue + if [[ "$arg" == "--version" ]]; then + continue + fi if [[ "$arg" == "--app" ]]; then shift 2 && skip_arg=true elif [[ "$arg" =~ ^--.* ]]; then @@ -129,7 +132,7 @@ execute_dokku_cmd() { deploy | delete | ls | run | cleanup) local PLUGIN_NAME="00_dokku-standard" ;; - trace | url | urls | report | version) + trace | url | urls | report) local PLUGIN_NAME="00_dokku-standard" ;; esac @@ -233,6 +236,12 @@ case "$1" in fi ;; + version | -v | --version) + test -f "$DOKKU_ROOT/VERSION" || dokku_log_fail "Unable to determine dokku's version" + DOKKU_VERSION=$(cat "${DOKKU_ROOT}/VERSION") + echo "dokku version ${DOKKU_VERSION}" + ;; + *) execute_dokku_cmd "$@" ;; diff --git a/plugins/00_dokku-standard/subcommands/version b/plugins/00_dokku-standard/subcommands/version deleted file mode 100755 index 046d97090..000000000 --- a/plugins/00_dokku-standard/subcommands/version +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail -[[ $DOKKU_TRACE ]] && set -x -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" - -dokku_version_cmd() { - declare desc="prints dokku version" - local cmd="version" - cat "$DOKKU_ROOT/VERSION" || dokku_log_fail "Unable to determine dokku's version" -} - -dokku_version_cmd "$@" diff --git a/tests/unit/10_version.bats b/tests/unit/10_version.bats new file mode 100644 index 000000000..3349787b9 --- /dev/null +++ b/tests/unit/10_version.bats @@ -0,0 +1,28 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + global_setup +} + +teardown() { + global_teardown +} + +@test "(version) version, -v, --version" { + run /bin/bash -c "dokku version" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku -v" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku --version" + echo "output: $output" + echo "status: $status" + assert_success +}