-
-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows - 'boot pom jar' fails due to "file already exists" exception #138
Comments
Can you provide a minimal example that fails? |
I could work to make one but it'll take a while alas as I'm on some tight schedules. If you're just after a reproduction then running "boot pom jar" in boot-cljs crashes every time for me. Not intermittent! |
looks like I can reproduce the error with boot-cljs. |
The above commit seems to fix the issue with boot-cljs for me. Please try it. (run lein install in boot/pod to install the changed version). |
Yup! For me also. Awesome! Saves me all that manual hard-link binding hacking whenever I want to install. Thank you! |
BTW off topic but in case you're playing with it boot-cljs itself doesn't work on Windows without a patch I have in my fork. Without the patch it generates nonsense characters in it's output main file. I'll try and get a PR in soon as I'm guessing you're not actively using ClojureScript. |
No, I'm not using it at the moment. But keep the PRs coming :) |
I found a new case which can easily be seen with boot-cljs usage itself. Create a compilation error in a CLJS file, save for the watcher to read and after it's spit out the error, fix and save again - this reproducibly gives me the following stack trace:
Maybe editing Clojure source files shows the same issue? |
here's the traceback for a single leaked file. this seems to be clojurescript specific: #264 C:\Users\ralf\.boot\tmp\Users\ralf\home\boot-cljs-example\2ac\-p9hf6h\app.cljs by thread:clojure-agent-send-off-pool-0 on Tue Feb 24 21:29:46 CET 2015 at java.io.FileInputStream.(Unknown Source) at clojure.java.io$fn__8702.invoke(io.clj:229) at clojure.java.io$fn__8615$G__8606__8622.invoke(io.clj:69) at clojure.java.io$fn__8676.invoke(io.clj:165) at clojure.java.io$fn__8628$G__8610__8635.invoke(io.clj:69) at clojure.java.io$reader.doInvoke(io.clj:102) at clojure.lang.RestFn.invoke(RestFn.java:410) at cljs.analyzer$forms_seq.invoke(analyzer.clj:1608) at cljs.analyzer$forms_seq.invoke(analyzer.clj:1606) at cljs.compiler$compile_file_STAR_$fn__2646.invoke(compiler.clj:892) at cljs.compiler$with_core_cljs.invoke(compiler.clj:870) at cljs.compiler$compile_file_STAR_.invoke(compiler.clj:879) at cljs.compiler$compile_file.invoke(compiler.clj:971) at cljs.compiler$compile_root.invoke(compiler.clj:1007) at cljs.closure$compile_dir.invoke(closure.clj:353) at cljs.closure$eval2994$fn__2995.invoke(closure.clj:393) at cljs.closure$eval2929$fn__2930$G__2920__2937.invoke(closure.clj:303) at cljs.closure$eval2981$fn__2982.invoke(closure.clj:407) at cljs.closure$eval2929$fn__2930$G__2920__2937.invoke(closure.clj:303) at adzerk.boot_cljs.impl.CljsSourcePaths$fn__3187.invoke(impl.clj:16) at clojure.core$map$fn__4245.invoke(core.clj:2559) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:49) at clojure.lang.Cons.next(Cons.java:39) at clojure.lang.RT.boundedLength(RT.java:1654) at clojure.lang.RestFn.applyTo(RestFn.java:130) at clojure.core$apply.invoke(core.clj:624) at clojure.core$mapcat.doInvoke(core.clj:2586) at clojure.lang.RestFn.invoke(RestFn.java:423) at adzerk.boot_cljs.impl.CljsSourcePaths._compile(impl.clj:16) at cljs.closure$build.invoke(closure.clj:977) at cljs.closure$build.invoke(closure.clj:942) at adzerk.boot_cljs.impl$compile_cljs$fn__3206.invoke(impl.clj:33) at adzerk.boot_cljs.impl$compile_cljs.invoke(impl.clj:31) at clojure.lang.Var.invoke(Var.java:383) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.Var.applyTo(Var.java:700) at clojure.core$apply.invoke(core.clj:624) at boot.pod$eval_fn_call.invoke(pod.clj:177) at boot.pod$call_in_STAR_.invoke(pod.clj:184) at clojure.lang.Var.invoke(Var.java:379) at org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke(ClojureRuntimeShimImpl.java:88) at org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke(ClojureRuntimeShimImpl.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) at boot.pod$call_in_STAR_.invoke(pod.clj:187) at adzerk.boot_cljs$eval92$fn__93$fn__96$fn__97.invoke(boot_cljs.clj:123) at adzerk.boot_cljs_repl$eval176$fn__177$fn__182$fn__183.invoke(boot_cljs_repl.clj:107) at boot.task.built_in$fn__1176$fn__1177$fn__1190$fn__1191.invoke(built_in.clj:218) at boot.task.built_in$fn__1176$fn__1177$fn__1184$fn__1185.invoke(built_in.clj:215) at adzerk.boot_reload$eval224$fn__225$fn__234$fn__235.invoke(boot_reload.clj:61) at adzerk.boot_reload$eval224$fn__225$fn__229$fn__230.invoke(boot_reload.clj:59) at boot.task.built_in$fn__1003$fn__1004$fn__1026$fn__1027.invoke(built_in.clj:91) at boot.task.built_in$fn__1125$fn__1126$fn__1129$fn__1130$fn__1148$fn__1149.invoke(built_in.clj:167) at boot.task.built_in$fn__1125$fn__1126$fn__1129$fn__1130$fn__1148.invoke(built_in.clj:167) at boot.task.built_in$fn__1125$fn__1126$fn__1129$fn__1130.invoke(built_in.clj:164) at pandeiro.http$eval266$fn__267$fn__272$fn__273.invoke(http.clj:30) at boot.core$run_tasks.invoke(core.clj:668) at clojure.lang.Var.invoke(Var.java:379) at boot.user$eval293$fn__294.invoke(boot.user6849954566524128194.clj:19) at clojure.core$binding_conveyor_fn$fn__4145.invoke(core.clj:1910) at clojure.lang.AFn.call(AFn.java:18) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) |
I'll close this as the original issue has been resolved and also the referenced CLJS ticket has been closed. As always, feel free to reopen. |
A command as simple as "boot pom jar install" results in a large stack trace using master boot. A simple work around is to set hard-link to false while doing such installs and then back again when actually wanting to use the tool (hard-link false increases my CLJS projects rebuild speed 2x).
The text was updated successfully, but these errors were encountered: