Fork me on GitHub
#boot
<
2016-07-28
>
escherize02:07:43

Can I use cljs 1.9.x with boot-cljs 1.7.x?

escherize02:07:10

Or does boot-cljs's version have to match clojurescript's version?

timothypratley06:07:57

@escherize: I'm using 93, but I don't use the repl

escherize06:07:31

@timothypratley changing to [org.clojure/clojurescript "1.9.76"] fixes that issue. I'm still not sure if i'll get bit by something though

timothypratley06:07:11

🙂 yeah upgrades are a vicious cycle lol

martinklepsch09:07:19

@escherize: are you asking about repl or boot-cljs? There are known issues with 93 & source maps

martinklepsch09:07:51

Generally boot-cljs and cljs versions don't have to match

escherize09:07:17

I was having trouble getting (a project started from tenzing that's changed a bit) working with new deps.

escherize09:07:11

That's great news, @martinklepsch - I was worried I'd get hamstrung by a version mismatch somewhere.

juhoteperi09:07:14

93 build is not even a proper release, 89 should work fine

juhoteperi09:07:58

And the problem should be fixed in later version, I've been testing current master (146) with Boot-cljs and it works fine

martinklepsch09:07:47

@juhoteperi: right, the issue is that when you do boot show --updates it shows you 93 and I think that's how people end up with it 🙂

dominicm09:07:04

Yeah, it's a bit frustrating it's released the way it is

martinklepsch09:07:08

I don't know, release early and often, no? You upgrade, things don't work, you downgrade 😛

dominicm09:07:25

Hmm, 93 isn't a stable release. But there's no indication of this in the version name

martinklepsch09:07:01

right, the differentiation between stable/unstable aside

martinklepsch09:07:54

I wonder if that bug was known at the time of release and if it would have been discovered during pre-(stable)-release testing

dominicm09:07:58

I think my concern is that I've seen a lot of people upgrade to .93, not realising it's an unstable release. Then stuff breaks for them. And they're confused as to why.

martinklepsch10:07:11

Yeah, I guess my "You upgrade, things don't work, you downgrade" is a bit ignorant, usually people don't just downgrade but try to see what breaks. Guess I'll take it back 🙂

dominicm10:07:59

It's optimistic 😉 not ignorant.

borkdude11:07:02

Is there something like lein try but for boot?

martinklepsch11:07:19

@borkdude: boot -d some/dependency:0.1.0 repl

martinklepsch11:07:52

(IIRC about what lein try does)

borkdude11:07:58

wow, nice 🙂

borkdude12:07:51

I'm maybe asking too much, but is it also possible to have (require '[clj-time.core :as t]) executed when I call boot -d clj-time repl? 🙂 It could be a useful script to have when I want to do some ad hoc date calculations

martinklepsch12:07:15

@borkdude: like this?

boot -d clj-time repl -e "(require '[clj-time.core :as t])"

borkdude12:07:19

The docs say: -e --set-env KEY=VAL Add KEY => VAL to project env map.

martinklepsch12:07:26

@borkdude: these are the docs for boot itself. Tasks like repl have separate docs which can be found via boot $task --help

borkdude12:07:40

aaah of course

borkdude12:07:17

thanks 🙂

martinklepsch12:07:31

You're welcome 🙂

borkdude12:07:53

I get errors when I try: boot -d cljs-time show -c, can someone explain this?

borkdude12:07:28

Apparently core.async:core.async:jar:0.1.0-SNAPSHOT is no longer available

borkdude12:07:01

My goal is to have show -c output the classpath I need to load cljs-time with planck

martinklepsch12:07:26

it's boot -d com.andrewmcveigh/cljs-time:"0.4.0"

borkdude12:07:36

cool, that works 🙂

micha14:07:20

the boot option to recall a string will be in the next release also, there's already a ticket open for it

micha14:07:35

i mean to eval a string

micha14:07:41

autocorrect

micha14:07:39

that one is important for cider

timothypratley14:07:42

is there a way to concatinate files with boot? I don't see anything in boot sift -h or boot -h... should I write a task that slurps and spits?

martinklepsch14:07:37

@timothypratley: nothing built in unfortunately

martinklepsch14:07:30

we should start a boot-contrib project that hosts a bunch of community maintained tasks (all using pods ofc)

timothypratley14:07:29

🙂 ok makes sense.

lmergen14:07:59

that would be great

anmonteiro17:07:09

Has anyone succeeded in using boot-cljs-test to run async tests?

anmonteiro17:07:33

I’m currently unsure if I’m experiencing a Doo problem or a boot-cljs-test problem

anmonteiro17:07:19

hrm. Seems to have been just PEBKAC

richiardiandrea17:07:29

@anmonteiro: I did with promises, the code in replumb shows how to, but i have a pretty huge macro for it...

anmonteiro17:07:34

@richiardiandrea: it was quite easy after all:

(deftest test-foo
  (async done
    (take! (my-function-that-returns-a-channel)
      (fn [_]
        (is false)
        (done)))))

anmonteiro17:07:11

boot-cljs-test uses doo under the hood which already has a reporter for end-run-tests

richiardiandrea17:07:02

ah ok I thought that didn't work for you

richiardiandrea17:07:33

also, check clojurescript's test suite (which uses a similar thing just named latch)

anmonteiro17:07:03

@richiardiandrea: will do. the actual problem was that async must be the last thing you return from deftest and I wasn’t doing that 😄

anmonteiro17:07:46

latch looks cool

richiardiandrea17:07:05

I used a promise because of that now that I think about it

richiardiandrea17:07:20

a promise is infinitely nestable so no counting is necessary

richiardiandrea17:07:03

So I had this idea of putting boot-cljs-devtools in a place where it is easy for anyone jumping in to release on clojars, I am willing to maintain it, but I also, after Martin's suggestion, don't want to keep it under my own name for two reasons: 1) it was not my work and I don't want to take all the credit 2) it is good for others to be able to release on clojars if necessary.

richiardiandrea17:07:58

So I was wondering if boot-clj can be a good place for putting this, of if there is another "umbrella group" we can use for this and maybe for boot-contrib (project with boot indipendent tasks)

alandipert17:07:46

i think boot-clj is a good umbrella group, and we can make teams etc

richiardiandrea17:07:50

yeah I was thinking that too 😄 so I'd probably just need access to my user (`arichiardi`) so that I can deploy using that group, then I will fork boot-cljs-devtools (I asked Jupl, the owner, and he is fine with it) and change that as well

richiardiandrea18:07:52

awesome thanks Martin

martinklepsch18:07:56

@richiardiandrea: I added you. Let me know if there's anything else to do :+1:

martinklepsch18:07:51

ok so boot itself is boot/* I feel like another group might be good just to keep things slightly distinguished

martinklepsch18:07:38

Also I'm not in that group so I can't add anyone (and it seems good to keep clojars-push access for boot itself limited)

richiardiandrea18:07:38

I like bootlaces for instance, as group name as well

richiardiandrea18:07:55

oh I have just seen that it has another group name ..

martinklepsch18:07:34

could be confusing, although I really like the pun 😄

richiardiandrea18:07:04

you have more fantasy then me for sure Marting (see re-frame logo), let's come up with a name 😄

martinklepsch18:07:57

well I was just going to say boot-contrib but I guess that doesn't have a lot of fantasy 😄

richiardiandrea18:07:22

yeah that was my original idea as well, it kind of makes sense

anmonteiro18:07:47

boot-spurs ? 🙂

martinklepsch18:07:34

is there a name for the shoes from back to the future? 😄

richiardiandrea18:07:48

oh that's a good one...let me check

richiardiandrea18:07:29

self-lacing boots I found, self-tying

martinklepsch18:07:19

self-tying-boots-by-nike/boot-cljs-devtools I think we found the winner!

richiardiandrea18:07:59

power-laces/boot-cljs-devtools

martinklepsch18:07:26

that seems cool

richiardiandrea18:07:29

man, you cannot vote the + AND - at the same time 😄

martinklepsch18:07:41

it's so other people can click haha

richiardiandrea18:07:11

yeezy, I am looking it up

alandipert18:07:32

kanye west reference, and definitely joking

richiardiandrea18:07:56

lol I saw that 😄

martinklepsch18:07:26

@alandipert: are these pockets on shoes? haha

alandipert18:07:57

haha yes, to store your clj/s quickref card

martinklepsch18:07:01

@alandipert: @micha btw, will any of you join ClojuTRE/EuroClojure this year?

richiardiandrea18:07:31

soooo.... 😄

richiardiandrea19:07:36

@martinklepsch: i think your poll up there has a winner?

martinklepsch19:07:26

@richiardiandrea: sure, you might want to consider powerlaces vs. power-laces, it's not correct but looks nicer imho 😄

richiardiandrea19:07:06

yeah but we have bootlaces one word right

richiardiandrea19:07:16

powerlaces/boot-cljs-devtools

richiardiandrea19:07:23

not that bad either

richiardiandrea19:07:29

so ok, now i just need my arichiardi user to be in the boot-clj group on clojars and I guess we are done 😉

alandipert19:07:19

@richiardiandrea: it is done

alandipert19:07:03

@martinklepsch: sadly no 😢

martinklepsch19:07:43

there's no boot-clj group on clojasr

alandipert19:07:58

err yeah, the group is boot

martinklepsch19:07:04

@richiardiandrea: what do you want to do with the boot group?

richiardiandrea19:07:28

i thought we could create subgroups lol

alandipert19:07:35

oh yeah, maybe better to have powerlaces clojars group?

martinklepsch19:07:02

I thought we decided it's good to keep that group (boot) to "core" stuff so we can be very liberal in adding people (to powerlaces)

richiardiandrea19:07:22

yes no it's my fault 😄

richiardiandrea19:07:00

I just need to push with the correct group do I?

martinklepsch19:07:16

That sentence above makes no sense but I guess you get the idea 😄

juhoteperi20:07:59

Hmm, is boot-cljs-devtools just an example or are you making such task?

torgeir20:07:45

I'm trying to make this (second code example) https://github.com/torgeir/boot-protobuf#usage compile my protobuf-file. It seems it needs protobuf-java-3.0.0-beta-4.jar on the classpath for this to work. If I do boot -s protobuf-java-3.0.0-beta-4.jar my-task it works (when my-task has the contents of the second code example). However, adding [com.google.protobuf/protobuf-java "3.0.0-beta-4”] to boot with set-env! under :dependencies and running my-task does not work. Ideas on how to make boot/javac pick up the dependency inside my task?

richiardiandrea20:07:51

@juhoteperi: it is an actual task jupl developed for including both cljs-devtools and dirac

cfleming23:07:38

@dominicm: AFAIK hooks shouldn’t break Cursive any more.

bsima23:07:51

Is there a way to set checkouts in build.boot? Something like (set-env! :checkouts ...)

micha23:07:11

@bsima: precisely!

micha23:07:21

(use boot 2.6.0)

bsima23:07:25

lol, well it's not documented so I wasn't sure

bsima23:07:37

glad to know boot follows the principle of least surprise

micha23:07:46

sorry, i still need to make the release notes for 2.6.0

micha23:07:57

we hope to make a blog post tomorrow

micha23:07:14

note: you need both :dependencies and :checkouts

micha23:07:31

the version in :checkouts will override the one in :dependencies

bsima23:07:40

awesome, I can help with docs tomorrow