Closed mk closed 2 years ago
Trying this on our project with
(g/grasp (System/getProperty "java.class.path") #{:pre :post})
Fails with
Unhandled java.io.FileNotFoundException /Users/mk/.gitlibs/libs/applied-science/waqi/a738123afae999656d7a0ff77edb431c97ebb341/resources (No such file or directory) FileInputStream.java: -2 java.io.FileInputStream/open0 FileInputStream.java: 216 java.io.FileInputStream/open FileInputStream.java: 157 java.io.FileInputStream/<init> io.clj: 229 clojure.java.io/fn io.clj: 229 clojure.java.io/fn io.clj: 69 clojure.java.io/fn/G io.clj: 165 clojure.java.io/fn io.clj: 165 clojure.java.io/fn io.clj: 69 clojure.java.io/fn/G io.clj: 102 clojure.java.io/reader io.clj: 86 clojure.java.io/reader RestFn.java: 410 clojure.lang.RestFn/invoke AFn.java: 154 clojure.lang.AFn/applyToHelper RestFn.java: 132 clojure.lang.RestFn/applyTo core.clj: 669 clojure.core/apply core.clj: 7009 clojure.core/slurp core.clj: 7009 clojure.core/slurp RestFn.java: 410 clojure.lang.RestFn/invoke impl.clj: 251 grasp.impl/grasp impl.clj: 235 grasp.impl/grasp impl.clj: 239 grasp.impl/grasp/fn core.clj: 2770 clojure.core/map/fn LazySeq.java: 42 clojure.lang.LazySeq/sval LazySeq.java: 51 clojure.lang.LazySeq/seq RT.java: 535 clojure.lang.RT/seq core.clj: 139 clojure.core/seq core.clj: 662 clojure.core/apply core.clj: 2800 clojure.core/mapcat core.clj: 2800 clojure.core/mapcat RestFn.java: 423 clojure.lang.RestFn/invoke impl.clj: 239 grasp.impl/grasp impl.clj: 235 grasp.impl/grasp api.clj: 9 grasp.api/grasp api.clj: 6 grasp.api/grasp api.clj: 7 grasp.api/grasp api.clj: 6 grasp.api/grasp REPL: 14 ductile.insights.clojure-pre-post/eval75485 REPL: 14 ductile.insights.clojure-pre-post/eval75485 Compiler.java: 7194 clojure.lang.Compiler/eval Compiler.java: 7149 clojure.lang.Compiler/eval core.clj: 3215 clojure.core/eval core.clj: 3211 clojure.core/eval interruptible_eval.clj: 87 nrepl.middleware.interruptible-eval/evaluate/fn/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 667 clojure.core/apply core.clj: 1990 clojure.core/with-bindings* core.clj: 1990 clojure.core/with-bindings* RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 87 nrepl.middleware.interruptible-eval/evaluate/fn main.clj: 437 clojure.main/repl/read-eval-print/fn main.clj: 437 clojure.main/repl/read-eval-print main.clj: 458 clojure.main/repl/fn main.clj: 458 clojure.main/repl main.clj: 368 clojure.main/repl RestFn.java: 1523 clojure.lang.RestFn/invoke interruptible_eval.clj: 84 nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 56 nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 152 nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn AFn.java: 22 clojure.lang.AFn/run session.clj: 218 nrepl.middleware.session/session-exec/main-loop/fn session.clj: 217 nrepl.middleware.session/session-exec/main-loop AFn.java: 22 clojure.lang.AFn/run Thread.java: 833 java.lang.Thread/run
Creating that dir makes it fail on the next path. I think it should not assume that every dir on the classpath needs to exist.
A workaround for now could be to filter the non-existing dirs manually using fs/exists?. PR welcome.
fs/exists?
Yep, that's what I'm doing, just wanted to file this first and will look at a fix later.
Trying this on our project with
Fails with
Creating that dir makes it fail on the next path. I think it should not assume that every dir on the classpath needs to exist.