From 57aaed524d89640ca87245220f7ad2dbc060a268 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 16 Mar 2021 10:56:03 +0100 Subject: [PATCH] fallback --- src/babashka/main.clj | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index f8d6cd9f..de8269a6 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -2,6 +2,7 @@ {:no-doc true} (:refer-clojure :exclude [error-handler]) (:require + [babashka.fs :as fs] [babashka.impl.bencode :refer [bencode-namespace]] [babashka.impl.cheshire :refer [cheshire-core-namespace]] [babashka.impl.classes :as classes] @@ -179,6 +180,7 @@ (let [options (next options)] (recur (next options) (assoc opts-map :main (first options)))) + ;; fallback (if (some opts-map [:file :jar :socket-repl :expressions :main]) (assoc opts-map :command-line-args options) @@ -189,10 +191,12 @@ (-> opts-map (update :expressions (fnil conj []) (first options)) (assoc :command-line-args (next options))) - (assoc opts-map - (if (str/ends-with? opt ".jar") - :jar :file) opt - :command-line-args (next options))))))) + (if (fs/exists? opt) + (assoc opts-map + (if (str/ends-with? opt ".jar") + :jar :file) opt + :command-line-args (next options)) + (throw (Exception. (str "File does not exist: " opt))))))))) opts-map))] opts))