Fork me on GitHub
#boot
<
2017-04-21
>
grzm18:04:30

I'm trying out boot for a new project and am stymied by Unable to resolve symbol: swap in this context when running boot commands. Here's a stack trace:

λ boot -h
                                                  Boot.main                    Boot.java: 258
                                                        ...                                  
                                              boot.App.main                     App.java: 491
                                           boot.App.runBoot                     App.java: 399
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java: 150
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java: 159
                                                        ...                                  
                                            boot.main/-main                     main.clj: 206
                                         boot.main/-main/fn                     main.clj: 206
                                                        ...                                  
java.lang.RuntimeException: Unable to resolve symbol: swap in this context
clojure.lang.ExceptionInfo: Unable to resolve symbol: swap in this context

micha18:04:30

@grzm looks like you have a typo in build.boot

micha18:04:51

wrote swap somewhere instead of swap! probably?

micha18:04:42

you can do this to test that theory:

micha18:04:50

boot -BPh

micha18:04:58

that should work fine

micha18:04:18

then if that works without errors you can do boot -Bh and boot -Ph

micha18:04:31

whichever of those that failes will tell you where the problem lies

grzm18:04:32

nice. thanks. it was actually in profile.boot, but that pointed me in the right direction

micha23:04:54

maybe you have dependency conflicts?

micha23:04:11

@ag have you looked at the output of boot show -p?

micha23:04:44

see if google closure version is being overrided by some dependency other than clojurescript

alandipert23:04:24

if i had to guess, i'd say guava is the culprit

alandipert23:04:41

perhaps closure compiler depends on guava

alandipert23:04:19

if that's true, the fix would be to add either 1) add a dependency for the exact version of guava closure needs or 2) exclude guava from whichever other dep is bringing it in. boot show -p will say