Fork me on GitHub
#boot
<
2017-06-28
>
minikomi02:06:44

is boot-figreload preferred to boot-reload now?

richiardiandrea04:06:14

@minikomi I don't think it is, there is no stable version after all.. I am waiting for a fix in Figwheel before releasing (btw that needs a Windows machine test 😀): https://github.com/bhauman/lein-figwheel/pull/537

seancorfield05:06:14

@sooheon Don't you need a bunch of JVM options enabled on the process you're trying to connect to?

seancorfield05:06:44

You'll need to specify those options in the BOOT_JVM_OPTIONS environment variable I think...

sooheon05:06:17

OK will try

seancorfield05:06:28

(I know this isn't a remote connection situation but I suspect some of those options are likely needed here?)

seancorfield05:06:40

Caveat: I have no experience with JMC!

sooheon05:06:59

Thanks for help, I’ll do more googling

sooheon05:06:50

These two options are required: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder, but even with these I get the same error complaining about “using the correct protocol on the Service URL (service:jmx:<rml://127.0.0.1/stub>…”

dominicm06:06:03

I'm not certain, but you may need a license to do this.

seancorfield06:06:55

Did you turn off SSL?

minikomi06:06:36

I’m not quite sure I understand “pods”.

dominicm06:06:31

They are multiple instances of clojure inside the same jvm. Each have their own list of dependencies.

minikomi06:06:46

If I’m just creating tasks inside my own project, is there an advantage to using them?

dominicm09:06:13

Only if your tasks have dependencies that aren't used within your project (e.g. sass4j for compiling sass)

minikomi08:06:05

I always get

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:  408
                                   clojure.core/read-string                     core.clj: 3687

minikomi08:06:30

when trying to use pods..

minikomi08:06:07

Ah, was trying to pass in a file object.

manenko14:06:26

A newbie question. I want to download a file and keep it between builds (the file is a tool I need during the build). My understanding is that I should put it into (cache-dir! ::tools-folder). Then I can store the path to the file inside fileset's :metadata. And then any task can get a path to the tool using the metadata. Is this correct? I found boot's documentation to be incomplete in many areas (or maybe this is just me?).

richiardiandrea15:06:47

@manenko maybe, the community does its best to keep it up 😀 you can either open an issue with the things you think are missing or directly PR and therefore contribute to it. Both are super welcome 👍

manenko15:06:47

Absolutely, I will contribute into documentation once (if) I'll learn how to write various boot tasks

richiardiandrea15:06:51

I guess you are talking about the wiki?

manenko15:06:37

For example, imagine someone who is not familiar with boot. They want to write some tasks and guess where they are looking for a guide? Right! It's there https://github.com/boot-clj/boot/wiki/Task-Writer%27s-Guide Except that it doesn't help much 😞

mobileink23:06:34

manenko: boot is pretty much a "read the source, Luke!" project until we get more complete docs. fwiw the way i learned was by reading (stealing) code from community libs. and then asking qs on slack..

manenko05:06:17

Yup. That's what I do as well.

richiardiandrea15:06:40

In which way? I was not familiar with boot and I started exactly there 😁

lwhorton16:06:03

i’m trying to evaluate some cljs.spec code with generators using vim-fireplace and the cljs-repl boot plugin. there are a lot of moving parts here, so i’m not sure where to look for debugging. essentially when I try to cpp broken code like (1 + 1) I dont get a stacktrace error, I get something like this:

{'status': ['eval-error', 'done'], 'ex': 'class clojure.lang.ExceptionInfo', 'root-ex': 'class clojure.lang.ExceptionInfo', 'id': 'fireplace-local-1498664807-80', 'session': ['d066de8f-1250-4cda-b6ed-736bee459e71'], 'err': 'org.mozilla.javascript.EvaluatorException: Java class "
[Ljava.lang.StackTraceElement;" has no public instance field or method named "cljs$lang$protocol_mask$partition0$". (rhino.clj#41)^@'}

juhoteperi16:06:08

Do you have latest fireplace and piggieback 0.2.2m

lwhorton16:06:11

i was at 0.2.1 for piggieback, let me check fireplace

juhoteperi16:06:48

0.2.2 changelog mentions: The current nREPL's session's *e binding is now set properly when an uncaught exception occurs. but I'm not sure if that helps with this case

juhoteperi16:06:02

I don't think I have ever seen proper stacktrace with fireplace + cljs repl

lwhorton16:06:51

I see. now that you mention it part of my problem could be i’m not actually in the cljs repl trying to eval that code, i’m 1 level up in java repl >.< (doh)

juhoteperi16:06:32

There was at least this commit in fireplace re cljs stacktraces some months ago: https://github.com/tpope/vim-fireplace/commit/024ff4f1231a10c6427470d07001ad1b6fbcdb5a

lwhorton16:06:53

well, seems that either your suggestions will fix it or i’m s.o.l anyhow

lwhorton16:06:56

thanks very much for your help

juhoteperi16:06:21

Also, my experience with fireplace and cljs repl is the same with figwheel also so I think the problem is not in boot-cljs-repl

lwhorton16:06:43

that’s good to know.. i figured as much because most boot tasks are pretty thin

lwhorton16:06:56

as if the error emitted by the code evaluation is swallowed and another rhino error is thrown instead, or perhaps the error leaks into the evaluator instead of being captured at all, which itself throws a new error?

donyorm16:06:50

Getting the following error when I try to build my clojurescript files with boot. I am using boot-figreload if that's relevant. What would cause this?

richiardiandrea16:06:57

donyorm: can you show me your main.cljs.edn

donyorm16:06:53

Here is my main.cljs.edn:

{:require [test.core]
 :compiler-options {:main "test.app",
                    :asset-path "/js/out",
                    :output-to "target/cljsbuild/public/js/app.js",
                    :output-dir "target/cljsbuild/public/js/out",
                    :source-map true,
                    :optimizations :none,
                    :pretty-print true}}

donyorm16:06:41

Seems to be related to boot-figreload. Running boot cljs or boot cljs-repl work fine

richiardiandrea17:06:25

the :main should be a symbol, so test.app. I am surprised it is working with the other two ones, maybe @U061V0GG2 can explain better 😄

richiardiandrea23:06:38

@U1C03090C would you mind opening an issue in boot-figreload for this so that I keep track of it?

delon20:06:01

Hello all

delon20:06:10

I've got a noob question

delon20:06:29

Where do I find the jar file by default from the jar task?

delon20:06:37

I'm just trying to build a jar file that will hold some CSV files for a simple data collection script

delon20:06:39

That is, the jar will hold my clojure code with a -main function that should be executed along with the CSV files

pesterhazy21:06:29

@delon you have to use the target task. By default it'll output to target/

delon21:06:05

@pesterhazy I tried that it's just out putting the contents of my resource directory

delon21:06:20

@pesterhazy nevermind, I got it, thanks!