Fork me on GitHub
#boot
<
2017-08-09
>
cjhowe09:08:34

how can i make this use nrepl 0.2.13 without overriding dependencies (like cider-nrepl) added in by emacs? (dirac is complaining about the version mismatch) https://github.com/boot-clj/boot/blob/ecc6c2751aaa7187c51a6beebbd5de0c99a9780b/boot/pod/src/boot/repl.clj#L11

lwhorton15:08:09

has anyone been losing compilation error information with boot-cljs 2.1.1 and clojurescript 1.9.854?

lwhorton15:08:03

Quite often now I’m getting simply: failed compiling file: path/to/foo/foo.cljs, where previously it would say something like unmatched ')' on line 43.

lwhorton15:08:12

and occasionally the whole process aborts during what looks like an attempt to log a compilation error

boot.util/fail                          util.clj:  102
                                  boot.util/print*                          util.clj:   57
                                clojure.core/apply                          core.clj:  657
                                               ...
                               clojure.core/format                          core.clj: 5642
                               clojure.core/format                          core.clj: 5648
                           java.lang.String.format                       String.java: 2940
                        java.util.Formatter.format                    Formatter.java: 2455
                        java.util.Formatter.format                    Formatter.java: 2519
java.util.MissingFormatArgumentException: Format specifier '%a'
    formatSpecifier: "%a"
              clojure.lang.ExceptionInfo: Format specifier '%a'
    file: "/var/folders/l4/kzqgc8nd15s64hgc4_mjt8gm0000gn/T/boot.user400176101392483702.clj"
    line: 43

juhoteperi15:08:14

@lwhorton I can reproduce at least the first problem

juhoteperi15:08:47

Ha and I found reason for the second problem also

lwhorton15:08:05

I wonder if the compiler’s output signatures changed somewhere wrt the 2nd issue — some boot util logger is expecting 3 args instead of 2, or something.

juhoteperi15:08:18

These will be easy to fix. Then if we just found the reason for those "is not a relative path" problems.

lwhorton15:08:09

I have that relative-path issue on the backburner - couldn’t spend another day fiddling with things when business needs were piling up.

lwhorton15:08:53

Btw it looks like this is a minimal case to make it fail

(defn fail-to-compile []
  (update-in {} [:a :b] (-> % :a :b)))

juhoteperi15:08:14

yes, or "sdfsdf%ssdf"

lwhorton15:08:24

If you use a thread macro -> without a #(-> ...) I bet that error message has some strange %s content

juhoteperi15:08:57

the error will mention missing % symbol

lwhorton15:08:17

hehe, darn formatters

juhoteperi15:08:17

That is in fact fixed in 2.7.2-SNAPSHOT: https://github.com/boot-clj/boot/commit/c07b08751ad195e6e6349cb7c2f826c95a8e8186 which I'm using in many projects

juhoteperi15:08:58

But I think even better would be to remove format call completely when there are no args

lwhorton15:08:47

updating to the snapshot did fix the % problem, what’s the issue with the occasional absent error message?

juhoteperi15:08:21

Fixing that. Not sure what I've been thinking when I changed how exception message is retrieved.

qqq16:08:11

there is boot-garden, which is a boot task that when files are updated, helps auto write out a css file via garden. is there something similar for boot-html which, via hiccup, writes out *.html files ?

juhoteperi17:08:32

@lwhorton I deployed 2.1.2-SNAPSHOT to Clojars , it should fix the problems: https://github.com/boot-clj/boot-cljs/compare/2.1.1...master

lwhorton17:08:18

many thanks, ill wire it in and let you know if anything breaks

flyboarder20:08:33

⚠️ boot-semver 1.7.0 released! ⚠️ Now stores the version within the environment map, lets tasks everywhere consume the project version via (get-env :version)

qqq23:08:18

I need a deep understanding of how boot works. (Not just how to use boot). Is there a "design + implementation guide to boot internals" somewhere, or should I just jump into the source ?

richiardiandrea06:08:06

There is the wiki that has very good stuff