This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
Trying to convert an hl file to a cljs file. Getting illegal access on mkremote. Any ideas? java.lang.IllegalAccessError: mkremote does not exist at clojure.core$refer.doInvoke(core.clj:4097) at clojure.lang.RestFn.applyTo(RestFn.java:139) at clojure.core$apply.invoke(core.clj:632) at clojure.core$load_lib.doInvoke(core.clj:5730) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:632) at clojure.core$load_libs.doInvoke(core.clj:5749) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:632) at clojure.core$require.doInvoke(core.clj:5832) at clojure.lang.RestFn.invoke(RestFn.java:421) at server_notifications.notification_rpc$eval3$loading__5340__auto____4.invoke(notification-rpc.cljs:1) at server_notifications.notification_rpc$eval3.invoke(notification-rpc.cljs:1) at clojure.lang.Compiler.eval(Compiler.java:6782) at clojure.lang.Compiler.eval(Compiler.java:6771) at clojure.lang.Compiler.load(Compiler.java:7227) ... 14 more
@alandipert: @micha I made a demo that hooks Datomic Free into Castra at the back is that something that you would like added back in as a PR to the demos? (It’s not very fancy just replaces your random number with a random DB value!)
@raymcdermott: that would be great, yes!
I've added [hoplon/javelin "3.8.4"] to my build boot. And changed my ns on the cljs file that was a hl file to (ns server-notifications.notification-rpc (:require [javelin.core :refer [cell] :refer-macros [cell=]] [castra.core :refer [mkremote]] [adzerk.cljs-console :as log :include-macros true])) Now cell does not exist. @micha ?
Caused by: java.lang.IllegalAccessError: cell does not exist at clojure.core$refer.doInvoke(core.clj:4097) at clojure.lang.RestFn.applyTo(RestFn.java:139) at clojure.core$apply.invoke(core.clj:632) at clojure.core$load_lib.doInvoke(core.clj:5730) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:632) at clojure.core$load_libs.doInvoke(core.clj:5749) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:632) at clojure.core$require.doInvoke(core.clj:5832) at clojure.lang.RestFn.invoke(RestFn.java:436) at server_notifications.notification_rpc$eval3$loading__5340__auto____4.invoke(notification-rpc.cljs:1) at server_notifications.notification_rpc$eval3.invoke(notification-rpc.cljs:1) at clojure.lang.Compiler.eval(Compiler.java:6782) at clojure.lang.Compiler.eval(Compiler.java:6771) at clojure.lang.Compiler.load(Compiler.java:7227) ... 14 more
@laforge49: i'm not sure [javelin.core :refer [cell] :refer-macros [cell=]]
is legit
it is the example in https://github.com/hoplon/javelin
@micha No such var: clojure.core/require-macros (ns server-notifications.notification-rpc (:require-macros [javelin.core :refer [cell=]]) (:require [javelin.core :refer [cell]] [castra.core :refer [mkremote]] [adzerk.cljs-console :as log :include-macros true]))
I would double check the clj vs cljs wiki page to make sure you have it correctly
There is a bullet point on it
@laforge49: i can have a look
I've put it back. I just was removing the .hl from https://github.com/laforge49/simple-notifications/blob/master/src/cljs/server_notifications/notification-rpc.cljs.hl and trying to add javelin. (I just reverted the boot.build file, too)
I figured it would be a while before that fix to boot comes out for windows and I just wanted to take a wack at this. But I'm still too much the newbie.
@laforge49: if you rebuild your jar it should work with .hl files now
@micha notify now builds, but when I boot dev on the demo castra-simple2 I get this: C:\Users\Bill\Documents\GitHub\demos\castra-simple2>boot dev Starting reload server on <ws://localhost:50037> Writing boot_reload.cljs... Starting file watcher (CTRL-C to quit)... Extracting Hoplon dependencies... ò cljs\notify\notification_rpc.cljs.hl java.lang.IllegalArgumentException: No implementation of method: :make-input-stream of protocol: #'http://clojure.java.io/IOFactory found for class: nil clojure.core/-cache-protocol-fn core_deftype.clj: 554 http://clojure.java.io/fn/G io.clj: 69 http://clojure.java.io/input-stream io.clj: 136 ... boot.pod/copy-resource pod.clj: 167 hoplon.boot-hoplon/extract-deps! boot_hoplon.clj: 98 hoplon.boot-hoplon/eval564/fn/fn boot_hoplon.clj: 111 ... clojure.core/deref core.clj: 2206 hoplon.boot-hoplon/eval564/fn/fn/fn boot_hoplon.clj: 115 boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 264 boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 264 boot.task.built-in/fn/fn/fn/fn built_in.clj: 261 boot.core/run-tasks core.clj: 791 boot.core/boot/fn core.clj: 801 clojure.core/binding-conveyor-fn/fn core.clj: 1916 ... Elapsed time: 0.159 sec
i can run it on windows now thanks to @flyboarder
if you examine the jar and look at the manifest you should see paths in there with forward slash instead of backslash
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate notify/notification_api__init.class or notify/notification_api.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(simple_notifications/api.clj:1:1)
yeah your problem is here: https://github.com/hoplon/notify/blob/master/build.boot#L15
@laforge49: you'll need to rebuild your jar again, because the manifest has incorrect paths in it
oh i guess it will work because cljs will compile a source file that's not in the correct directory (i.e. the java package path)
@micha can you deploy haplon/notify? It looks like I am forbidden by clojars. Repositories have been updated for notify version 0.0.1. --b
@laforge49: what's your clojars username?
that looks nifty