hoplon / hoplon-castra-template

Create new Hoplon projects with Castra
8 stars 6 forks source link

No such var: string/includes? #11

Open kleewho opened 7 years ago

kleewho commented 7 years ago

Hi,

I wanted to play with hoplon + castra so I've used hoplon-castra template like this:

boot -d boot/new new -t hoplon-castra -n rsd

Unfortunately the result of boot dev is not what I have been expecting.

$ boot dev
                                                  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
                                                        ...                                        
                                           boot.user/eval32  boot.user4139622401943959853.clj:    7
                                                        ...                                        
                                       clojure.core/require                          core.clj: 5832
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                     clojure.core/load-libs                          core.clj: 5749
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                      clojure.core/load-lib                          core.clj: 5710
                                   clojure.core/load-lib/fn                          core.clj: 5711
                                      clojure.core/load-one                          core.clj: 5671
                                                        ...                                        
                                          clojure.core/load                          core.clj: 5865
                                       clojure.core/load/fn                          core.clj: 5866
                                                        ...                                        
                                 hoplon.boot-hoplon/eval413                   boot_hoplon.clj:    9
                 hoplon.boot-hoplon/eval413/loading--auto--                   boot_hoplon.clj:    9
                                                        ...                                        
                                       clojure.core/require                          core.clj: 5832
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                     clojure.core/load-libs                          core.clj: 5749
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                      clojure.core/load-lib                          core.clj: 5710
                                   clojure.core/load-lib/fn                          core.clj: 5711
                                      clojure.core/load-one                          core.clj: 5671
                                                        ...                                        
                                          clojure.core/load                          core.clj: 5865
                                       clojure.core/load/fn                          core.clj: 5866
                                                        ...                                        
                           hoplon.boot-hoplon.refer/eval419                         refer.clj:    9
           hoplon.boot-hoplon.refer/eval419/loading--auto--                         refer.clj:    9
                                                        ...                                        
                                       clojure.core/require                          core.clj: 5832
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                     clojure.core/load-libs                          core.clj: 5749
                                         clojure.core/apply                          core.clj:  632
                                                        ...                                        
                                      clojure.core/load-lib                          core.clj: 5710
                                   clojure.core/load-lib/fn                          core.clj: 5711
                                      clojure.core/load-one                          core.clj: 5671
                                                        ...                                        
                                          clojure.core/load                          core.clj: 5865
                                       clojure.core/load/fn                          core.clj: 5866
                                                        ...                                        
java.lang.RuntimeException: No such var: string/includes?
clojure.lang.ExceptionInfo: No such var: string/includes?
    file: "cljs/util.cljc"
    line: 156

Versions:

$ java -version                               
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

$ boot -V
#http://boot-clj.com
#Sat Jan 28 14:53:28 CET 2017
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.7.1

If there's anything more please ask

kleewho commented 7 years ago

Somehow I was able to make it run. I've used castra-simple's boot.build from hoplos/demo as a source of checked dependency versions. When doing this I had couple different errors when compiling

$ boot dev
Starting reload server on ws://localhost:44219
                                       java.lang.Thread.run                  Thread.java:  745
         java.util.concurrent.ThreadPoolExecutor$Worker.run      ThreadPoolExecutor.java:  617
          java.util.concurrent.ThreadPoolExecutor.runWorker      ThreadPoolExecutor.java: 1142
                        java.util.concurrent.FutureTask.run              FutureTask.java:  266
                                                        ...                                   
                        clojure.core/binding-conveyor-fn/fn                     core.clj: 1916
                                          boot.core/boot/fn                     core.clj: 1029
                                        boot.core/run-tasks                     core.clj: 1019
                       pandeiro.boot-http/eval3012/fn/fn/fn                boot_http.clj:  110
                                         clojure.core/deref                     core.clj: 2206
                                                        ...                                   
                          pandeiro.boot-http/eval3012/fn/fn                boot_http.clj:   74
                                          boot.pod/eval-in*                      pod.clj:  471
                                                        ...                                   
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  109
                                                        ...                                   
                                          boot.pod/eval-in*                      pod.clj:  468
                                          clojure.core/eval                     core.clj: 3081
                                                        ...                                   
                                          pod$eval23.invoke                NO_SOURCE_FILE     
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                                  boot.repl-server/eval1043              repl_server.clj:    1
                  boot.repl-server/eval1043/loading--auto--              repl_server.clj:    1
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
          java.io.FileNotFoundException: Could not locate clojure/tools/nrepl/server__init.class or clojure/tools/nrepl/server.clj on classpath.
clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/tools/nrepl/server__init.class or clojure/tools/nrepl/server.clj on classpath., compiling:(boot/repl_server.clj:1:1)
             clojure.lang.ExceptionInfo: java.io.FileNotFoundException: Could not locate clojure/tools/nrepl/server__init.class or clojure/tools/nrepl/server.clj on classpath., compiling:(boot/repl_server.clj:1:1)
    file: "/tmp/boot.user2640771741282086047.clj"
    line: 17
$ boot dev
Starting reload server on ws://localhost:46399
                                       java.lang.Thread.run                  Thread.java:  745
         java.util.concurrent.ThreadPoolExecutor$Worker.run      ThreadPoolExecutor.java:  617
          java.util.concurrent.ThreadPoolExecutor.runWorker      ThreadPoolExecutor.java: 1142
                        java.util.concurrent.FutureTask.run              FutureTask.java:  266
                                                        ...                                   
                        clojure.core/binding-conveyor-fn/fn                     core.clj: 1916
                                          boot.core/boot/fn                     core.clj: 1029
                                        boot.core/run-tasks                     core.clj: 1019
                       pandeiro.boot-http/eval3012/fn/fn/fn                boot_http.clj:  110
                                         clojure.core/deref                     core.clj: 2206
                                                        ...                                   
                          pandeiro.boot-http/eval3012/fn/fn                boot_http.clj:   74
                                          boot.pod/eval-in*                      pod.clj:  471
                                                        ...                                   
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  109
                                                        ...                                   
                                          boot.pod/eval-in*                      pod.clj:  468
                                          clojure.core/eval                     core.clj: 3081
                                                        ...                                   
                             pandeiro.boot-http.impl/server                     impl.clj:  132
                        pandeiro.boot-http.impl/start-jetty                     impl.clj:  124
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                                ring.adapter.jetty/eval6152                    jetty.clj:    1
                ring.adapter.jetty/eval6152/loading--auto--                    jetty.clj:    1
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                                 ring.util.servlet/eval6158                  servlet.clj:    1
                 ring.util.servlet/eval6158/loading--auto--                  servlet.clj:    1
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
          java.io.FileNotFoundException: Could not locate ring/core/protocols__init.class or ring/core/protocols.clj on classpath.
clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate ring/core/protocols__init.class or ring/core/protocols.clj on classpath., compiling:(ring/util/servlet.clj:1:1)
             clojure.lang.ExceptionInfo: java.io.FileNotFoundException: Could not locate ring/core/protocols__init.class or ring/core/protocols.clj on classpath., compiling:(ring/util/servlet.clj:1:1)
    file: "/tmp/boot.user6387640683812815247.clj"
    line: 17

Here's the final list (I'm almost sure I didn't change every line):

(set-env!
  :dependencies '[[adzerk/boot-cljs          "1.7.228-1"]
                  [adzerk/boot-reload        "0.5.0"]
                  [adzerk/boot-cljs-repl     "0.3.3"]
                  [org.clojure/tools.nrepl "0.2.12" :scope "test"]
                  [compojure                 "1.6.0-beta3"]
                  [hoplon/castra             "3.0.0-alpha7"]
                  [hoplon/hoplon             "6.0.0-alpha17"]
                  [org.clojure/clojure       "1.9.0-alpha10"]
                  [org.clojure/clojurescript "1.9.93"]
                  [pandeiro/boot-http        "0.7.6"]
                  [ring                      "1.5.0"]
                  [ring/ring-defaults        "0.2.1"]]

What's weird is that last thing that I've changed was clojure itself. Before it was 1.7.0 and it was failing with it like this:

$ boot dev
Starting reload server on ws://localhost:41113
2017-01-28 15:45:32.668:INFO::clojure-agent-send-off-pool-0: Logging initialized @14505ms
2017-01-28 15:45:32.743:INFO:oejs.Server:clojure-agent-send-off-pool-0: jetty-9.2.10.v20150310
2017-01-28 15:45:32.780:INFO:oejs.ServerConnector:clojure-agent-send-off-pool-0: Started ServerConnector@6648490b{HTTP/1.1}{0.0.0.0:8000}
2017-01-28 15:45:32.781:INFO:oejs.Server:clojure-agent-send-off-pool-0: Started @14618ms
Started Jetty on http://localhost:8000

Starting file watcher (CTRL-C to quit)...

Writing HTML files...
• index.html
Writing adzerk/boot_reload/index.cljs to connect to ws://localhost:41113...
Adding :require adzerk.boot-reload.index to index.html.cljs.edn...
Compiling ClojureScript...
• index.html.js
                                       java.lang.Thread.run                  Thread.java:  745
         java.util.concurrent.ThreadPoolExecutor$Worker.run      ThreadPoolExecutor.java:  617
          java.util.concurrent.ThreadPoolExecutor.runWorker      ThreadPoolExecutor.java: 1142
                        java.util.concurrent.FutureTask.run              FutureTask.java:  266
                                                        ...                                   
                        clojure.core/binding-conveyor-fn/fn                     core.clj: 1916
                              adzerk.boot-cljs/compile-1/fn                boot_cljs.clj:  126
                                   adzerk.boot-cljs/compile                boot_cljs.clj:   66
                                          boot.pod/call-in*                      pod.clj:  413
                                                        ...                                   
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  109
                                                        ...                                   
                                          boot.pod/call-in*                      pod.clj:  410
                                      boot.pod/eval-fn-call                      pod.clj:  357
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                               adzerk.boot-cljs.impl/eval25                     impl.clj:    1
               adzerk.boot-cljs.impl/eval25/loading--auto--                     impl.clj:    1
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                                    cljs.build.api/eval2198                      api.clj:    8
                    cljs.build.api/eval2198/loading--auto--                      api.clj:    8
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
                                     cljs.compiler/eval2204                compiler.cljc:    9
                     cljs.compiler/eval2204/loading--auto--                compiler.cljc:    9
                                                        ...                                   
                                       clojure.core/require                     core.clj: 5832
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                     clojure.core/load-libs                     core.clj: 5749
                                         clojure.core/apply                     core.clj:  632
                                                        ...                                   
                                      clojure.core/load-lib                     core.clj: 5710
                                   clojure.core/load-lib/fn                     core.clj: 5711
                                      clojure.core/load-one                     core.clj: 5671
                                                        ...                                   
                                          clojure.core/load                     core.clj: 5865
                                       clojure.core/load/fn                     core.clj: 5866
                                                        ...                                   
             java.lang.RuntimeException: No such var: string/index-of
clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: No such var: string/index-of, compiling:(cljs/source_map.clj:260:54)
Elapsed time: 7.322 sec

And after changing it I see a message Classpath conflict: org.clojure/clojure version 1.7.0 already loaded, NOT loading version 1.9.0-alpha10, so even though boot is saying that it won't load clojure somehow this does affect the build environment cause I have no errors.

thedavidmeister commented 7 years ago

try a newer version for BOOT_CLOJURE_VERSION?