This commit is contained in:
Michiel Borkent 2023-04-21 15:52:07 +02:00
parent cd4987b005
commit 1de5c553ea
3 changed files with 33 additions and 24 deletions

View file

@ -11,6 +11,10 @@ A preview of the next release can be installed from
Berlin. Save the date and/or submit your babashka/clojure-related 20 minute talk Berlin. Save the date and/or submit your babashka/clojure-related 20 minute talk
in the CfP! in the CfP!
## 1.3.178 (2023-04-18)
- Fix regression with [#1541](https://github.com/babashka/babashka/issues/1541)
## 1.3.177 (2023-04-18) ## 1.3.177 (2023-04-18)
- [#1541](https://github.com/babashka/babashka/issues/1541): respect `bb.edn` - [#1541](https://github.com/babashka/babashka/issues/1541): respect `bb.edn`

View file

@ -1 +1 @@
1.3.178-SNAPSHOT 1.3.178

View file

@ -25,7 +25,7 @@
reader-types-namespace]] reader-types-namespace]]
[babashka.impl.clojure.zip :refer [zip-namespace]] [babashka.impl.clojure.zip :refer [zip-namespace]]
[babashka.impl.common :as common] [babashka.impl.common :as common]
[babashka.impl.core :as bbcore] [babashka.impl.core :as bbcore]
[babashka.impl.curl :refer [curl-namespace]] [babashka.impl.curl :refer [curl-namespace]]
[babashka.impl.data :as data] [babashka.impl.data :as data]
[babashka.impl.datafy :refer [datafy-namespace]] [babashka.impl.datafy :refer [datafy-namespace]]
@ -337,11 +337,11 @@ Use bb run --help to show this help output.
bencode bencode.core bencode bencode.core
deps babashka.deps deps babashka.deps
async clojure.core.async} async clojure.core.async}
features/xml? (assoc 'xml 'clojure.data.xml) features/xml? (assoc 'xml 'clojure.data.xml)
features/yaml? (assoc 'yaml 'clj-yaml.core) features/yaml? (assoc 'yaml 'clj-yaml.core)
features/jdbc? (assoc 'jdbc 'next.jdbc) features/jdbc? (assoc 'jdbc 'next.jdbc)
features/csv? (assoc 'csv 'clojure.data.csv) features/csv? (assoc 'csv 'clojure.data.csv)
features/transit? (assoc 'transit 'cognitect.transit))) features/transit? (assoc 'transit 'cognitect.transit)))
;;(def ^:private server-ns-obj (sci/create-ns 'clojure.core.server nil)) ;;(def ^:private server-ns-obj (sci/create-ns 'clojure.core.server nil))
@ -425,15 +425,15 @@ Use bb run --help to show this help output.
} }
'babashka.cli cli/cli-namespace 'babashka.cli cli/cli-namespace
'babashka.http-client http-client-namespace} 'babashka.http-client http-client-namespace}
features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace) features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace)
'clojure.data.xml.event @(resolve 'babashka.impl.xml/xml-event-namespace) 'clojure.data.xml.event @(resolve 'babashka.impl.xml/xml-event-namespace)
'clojure.data.xml.tree @(resolve 'babashka.impl.xml/xml-tree-namespace)) 'clojure.data.xml.tree @(resolve 'babashka.impl.xml/xml-tree-namespace))
features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace) features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace)
'flatland.ordered.map @(resolve 'babashka.impl.ordered/ordered-map-ns)) 'flatland.ordered.map @(resolve 'babashka.impl.ordered/ordered-map-ns))
features/jdbc? (assoc 'next.jdbc @(resolve 'babashka.impl.jdbc/njdbc-namespace) features/jdbc? (assoc 'next.jdbc @(resolve 'babashka.impl.jdbc/njdbc-namespace)
'next.jdbc.sql @(resolve 'babashka.impl.jdbc/next-sql-namespace) 'next.jdbc.sql @(resolve 'babashka.impl.jdbc/next-sql-namespace)
'next.jdbc.result-set @(resolve 'babashka.impl.jdbc/result-set-namespace)) 'next.jdbc.result-set @(resolve 'babashka.impl.jdbc/result-set-namespace))
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace)) features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))
features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace)) features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace))
features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace) features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace)
'datascript.db @(resolve 'babashka.impl.datascript/datascript-db-namespace)) 'datascript.db @(resolve 'babashka.impl.datascript/datascript-db-namespace))
@ -462,7 +462,7 @@ Use bb run --help to show this help output.
;; it's better to load this from source by adding the clojure.test.check dependency ;; it's better to load this from source by adding the clojure.test.check dependency
#_#_'clojure.test.check.clojure-test #_#_'clojure.test.check.clojure-test
@(resolve 'babashka.impl.clojure.test.check/test-check-clojure-test-namespace)) @(resolve 'babashka.impl.clojure.test.check/test-check-clojure-test-namespace))
features/spec-alpha? (-> (assoc ;; spec features/spec-alpha? (-> (assoc ;; spec
'clojure.spec.alpha @(resolve 'babashka.impl.spec/spec-namespace) 'clojure.spec.alpha @(resolve 'babashka.impl.spec/spec-namespace)
'clojure.spec.gen.alpha @(resolve 'babashka.impl.spec/gen-namespace) 'clojure.spec.gen.alpha @(resolve 'babashka.impl.spec/gen-namespace)
'clojure.spec.test.alpha @(resolve 'babashka.impl.spec/test-namespace))) 'clojure.spec.test.alpha @(resolve 'babashka.impl.spec/test-namespace)))
@ -785,7 +785,7 @@ Use bb run --help to show this help output.
and files that are empty/don't exist." and files that are empty/don't exist."
[path] [path]
(or (= "jar" (fs/extension path)) (or (= "jar" (fs/extension path))
(not (fs/exists? path)))) (not (fs/exists? path))))
(def seen-urls (atom nil)) (def seen-urls (atom nil))
@ -1071,27 +1071,27 @@ Use bb run --help to show this help output.
(when uberscript (when uberscript
(if (file-write-allowed? uberscript) (if (file-write-allowed? uberscript)
(do (do
(spit uberscript "") ;; reset file (spit uberscript "") ;; reset file
(doseq [s (distinct @uberscript-sources)] (doseq [s (distinct @uberscript-sources)]
(spit uberscript s :append true)) (spit uberscript s :append true))
(spit uberscript preloads :append true) (spit uberscript preloads :append true)
(spit uberscript expression :append true)) (spit uberscript expression :append true))
(throw (Exception. (str "Uberscript target file '" uberscript (throw (Exception. (str "Uberscript target file '" uberscript
"' exists and is not empty. Overwrite prohibited."))))) "' exists and is not empty. Overwrite prohibited.")))))
(when uberjar (when uberjar
(let [cp (cp/get-classpath)] (let [cp (cp/get-classpath)]
(cond (cond
(not (file-write-allowed? uberjar)) (not (file-write-allowed? uberjar))
(throw (Exception. (str "Uberjar target file '" uberjar (throw (Exception. (str "Uberjar target file '" uberjar
"' exists and is not empty. Overwrite prohibited."))) "' exists and is not empty. Overwrite prohibited.")))
(not cp) (not cp)
(throw (Exception. "The uberjar task needs a classpath.")) (throw (Exception. "The uberjar task needs a classpath."))
:else :else
(let [uber-params {:dest uberjar (let [uber-params {:dest uberjar
:jar :uber :jar :uber
:classpath cp :classpath cp
:main-class main :main-class main
:verbose debug}] :verbose debug}]
(if-let [bb-edn-pods (:pods @common/bb-edn)] (if-let [bb-edn-pods (:pods @common/bb-edn)]
(fs/with-temp-dir [bb-edn-dir {}] (fs/with-temp-dir [bb-edn-dir {}]
(let [bb-edn-resource (fs/file bb-edn-dir "META-INF" "bb.edn")] (let [bb-edn-resource (fs/file bb-edn-dir "META-INF" "bb.edn")]
@ -1099,7 +1099,7 @@ Use bb run --help to show this help output.
(->> {:pods bb-edn-pods} pr-str (spit bb-edn-resource)) (->> {:pods bb-edn-pods} pr-str (spit bb-edn-resource))
(let [cp-with-bb-edn (str bb-edn-dir cp/path-sep cp)] (let [cp-with-bb-edn (str bb-edn-dir cp/path-sep cp)]
(uberjar/run (assoc uber-params (uberjar/run (assoc uber-params
:classpath cp-with-bb-edn))))) :classpath cp-with-bb-edn)))))
(uberjar/run uber-params)))))) (uberjar/run uber-params))))))
exit-code)))) exit-code))))
@ -1124,7 +1124,7 @@ Use bb run --help to show this help output.
(defn main [& args] (defn main [& args]
(let [[args global-opts] (parse-global-opts args) (let [[args global-opts] (parse-global-opts args)
{:keys [:jar :file] :as file-opt} (when (some-> args first io/file .isFile) {:keys [:jar :file] :as file-opt} (when (some-> args first io/file .isFile)
(parse-file-opt args global-opts)) (parse-file-opt args global-opts))
config (:config global-opts) config (:config global-opts)
merge-deps (:merge-deps global-opts) merge-deps (:merge-deps global-opts)
abs-path #(-> % io/file .getAbsolutePath) abs-path #(-> % io/file .getAbsolutePath)
@ -1132,9 +1132,14 @@ Use bb run --help to show this help output.
config (when (fs/exists? config) (abs-path config)) config (when (fs/exists? config) (abs-path config))
jar (some-> [jar] cp/new-loader (cp/resource "META-INF/bb.edn") .toString) jar (some-> [jar] cp/new-loader (cp/resource "META-INF/bb.edn") .toString)
:else (if (and file (fs/exists? file)) :else (if (and file (fs/exists? file))
;; file relative to bb.edn
(let [rel-bb-edn (fs/file (fs/parent file) "bb.edn")] (let [rel-bb-edn (fs/file (fs/parent file) "bb.edn")]
(when (fs/exists? rel-bb-edn) (if (fs/exists? rel-bb-edn)
(abs-path rel-bb-edn))) (abs-path rel-bb-edn)
;; fall back to local bb.edn
(when (fs/exists? "bb.edn")
(abs-path "bb.edn"))))
;; default to local bb.edn
(when (fs/exists? "bb.edn") (when (fs/exists? "bb.edn")
(abs-path "bb.edn")))) (abs-path "bb.edn"))))
bb-edn (when (or bb-edn-file merge-deps) bb-edn (when (or bb-edn-file merge-deps)