From 68e061762c1aa49090c281877b550f4bd0fe2782 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Wed, 25 Dec 2019 16:21:39 +0100 Subject: [PATCH] v0.0.50 --- resources/BABASHKA_VERSION | 2 +- src-bash/bbk | 219 ------------------------------------- 2 files changed, 1 insertion(+), 220 deletions(-) delete mode 100755 src-bash/bbk diff --git a/resources/BABASHKA_VERSION b/resources/BABASHKA_VERSION index 45e4ba0c..789511e7 100644 --- a/resources/BABASHKA_VERSION +++ b/resources/BABASHKA_VERSION @@ -1 +1 @@ -0.0.50-SNAPSHOT \ No newline at end of file +0.0.50 \ No newline at end of file diff --git a/src-bash/bbk b/src-bash/bbk deleted file mode 100755 index 38b6c36e..00000000 --- a/src-bash/bbk +++ /dev/null @@ -1,219 +0,0 @@ -#!/usr/bin/env bash - -set -e - -function join { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; } - -# Extract opts -print_classpath=false -describe=false -verbose=false -force=false -repro=false -tree=false -pom=false -resolve_tags=false -help=false -resolve_aliases=() -classpath_aliases=() -main_aliases=() -all_aliases=() -while [ $# -gt 0 ] -do - case "$1" in - -J*) - shift - ;; - -R*) - resolve_aliases+=("${1:2}") - shift - ;; - -C*) - classpath_aliases+=("${1:2}") - shift - ;; - -O*) - shift - ;; - -M*) - main_aliases+=("${1:2}") - shift - ;; - -A*) - all_aliases+=("${1:2}") - shift - ;; - -Sdeps) - shift - deps_data="${1}" - shift - ;; - -Scp) - shift - force_cp="${1}" - shift - ;; - -Spath) - print_classpath=true - shift - ;; - -Sverbose) - verbose=true - shift - ;; - -Sdescribe) - describe=true - shift - ;; - -Sforce) - force=true - shift - ;; - -Srepro) - repro=true - shift - ;; - -Stree) - tree=true - shift - ;; - -Spom) - pom=true - shift - ;; - -Sresolve-tags) - resolve_tags=true - shift - ;; - -S*) - echo "Invalid option: $1" - exit 1 - ;; - -h|--help|"-?") - if [[ ${#main_aliases[@]} -gt 0 ]] || [[ ${#all_aliases[@]} -gt 0 ]]; then - break - else - help=true - shift - fi - ;; - *) - break - ;; - esac -done - -# Find clojure executable -set +e -CLOJURE_CMD=$(type -p clojure) -set -e -if [[ ! -n "$CLOJURE_CMD" ]]; then - >&2 echo "Couldn't find 'clojure'." - >&2 echo "You can launch Babashka directly using 'bb'." - >&2 echo "To use 'bbk', please ensure 'clojure' is installed and on" - >&2 echo "your path. See https://clojure.org/guides/getting_started" - exit 1 -fi - -if "$help"; then - cat <<-END -Usage: bbk [dep-opt*] [bb-opt*] [arg*] - -The bbk script is a runner for Babashka which ultimately constructs and -invokes a command-line of the form: - -bb --classpath classpath [bb-opt*] [*args] - - The dep-opts are used to build the classpath using the clojure tool: - -Ralias... Concatenated resolve-deps aliases, ex: -R:bench:1.9 - -Calias... Concatenated make-classpath aliases, ex: -C:dev - -Malias... Concatenated main option aliases, ex: -M:test - -Aalias... Concatenated aliases of any kind, ex: -A:dev:mem - -Sdeps EDN Deps data to use as the final deps file - -Spath Compute classpath and echo to stdout only - -Scp CP Do NOT compute or cache classpath, use this one instead - -Srepro Ignore the ~/.clojure/deps.edn config file - -Sforce Force recomputation of the classpath (don't use the cache) - -Spom Generate (or update existing) pom.xml with deps and paths - -Stree Print dependency tree - -Sresolve-tags Resolve git coordinate tags to shas and update deps.edn - -Sverbose Print important path info to console - -Sdescribe Print environment and command parsing info as data - - Additionally, for compatibility with clojure, -Jopt and -Oalias... dep-opts - are accepted but ignored. - -Babashka options: -END - bb -h | tail -n +9 - exit 0 -fi - -# Execute resolve-tags command -if "$resolve_tags"; then - "$CLOJURE_CMD" -Sresolve-tags - exit -fi - -clojure_args=() -if [[ -n "$deps_data" ]]; then - clojure_args+=("-Sdeps" "$deps_data") -fi -if [[ ${#resolve_aliases[@]} -gt 0 ]]; then - clojure_args+=("-R$(join '' ${resolve_aliases[@]})") -fi -if [[ ${#classpath_aliases[@]} -gt 0 ]]; then - clojure_args+=("-C$(join '' ${classpath_aliases[@]})") -fi -if [[ ${#main_aliases[@]} -gt 0 ]]; then - clojure_args+=("-M$(join '' ${main_aliases[@]})") -fi -if [[ ${#all_aliases[@]} -gt 0 ]]; then - clojure_args+=("-A$(join '' ${all_aliases[@]})") -fi -if "$repro"; then - clojure_args+=("-Srepro") -fi -if "$force"; then - clojure_args+=("-Sforce") -fi - -if "$pom"; then - if "$verbose"; then - clojure_args+=("-Sverbose") - fi - "$CLOJURE_CMD" "${clojure_args[@]}" -Spom -elif "$describe"; then - if "$verbose"; then - clojure_args+=("-Sverbose") - fi - "$CLOJURE_CMD" "${clojure_args[@]}" -Sdescribe -elif "$tree"; then - if "$verbose"; then - clojure_args+=("-Sverbose") - fi - "$CLOJURE_CMD" "${clojure_args[@]}" -Stree -else - set -f - if [[ -n "$force_cp" ]]; then - cp="$force_cp" - else - if "$verbose"; then - "$CLOJURE_CMD" "${clojure_args[@]}" -Sverbose -e nil - fi - cp=`"$CLOJURE_CMD" "${clojure_args[@]}" -Spath` - fi - if "$print_classpath"; then - echo $cp - else - if [[ ${#main_aliases[@]} -gt 0 ]] || [[ ${#all_aliases[@]} -gt 0 ]]; then - # Attempt to extract the main cache filename by parsing the output of -Sverbose - cp_file=`"$CLOJURE_CMD" "${clojure_args[@]}" -Sverbose -Spath | grep cp_file | cut -d = -f 2 | sed 's/^ *//g'` - main_file="${cp_file%.cp}.main" - fi - if [[ -e "$main_file" ]]; then - main_cache_opts=($(cat "$main_file")) - fi - exec bb --classpath "$cp" "${main_cache_opts[@]}" "$@" - fi -fi