This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-25
Channels
- # admin-announcements (19)
- # alda (73)
- # announcements (1)
- # aws (16)
- # beginners (22)
- # boot (109)
- # cljs-dev (1)
- # clojure (79)
- # clojure-art (3)
- # clojure-czech (2)
- # clojure-russia (233)
- # clojure-sweden (2)
- # clojurescript (161)
- # clojurex (25)
- # core-async (2)
- # cursive (4)
- # datomic (11)
- # editors (17)
- # emacs (3)
- # funcool (4)
- # hoplon (72)
- # ldnclj (29)
- # off-topic (1)
- # om (9)
- # onyx (13)
- # reactive (10)
- # reagent (13)
- # yada (4)
hm, looks like you could get the dep manually with boot -d, and then pass -javaagent arg in BOOT_JVM_OPTS
but, no, nothing like that built in currently afaik
http://stackoverflow.com/a/13032771 looks promising too, for adding at rnutime
that would be more boot-ish
Thanks, I did try setting the jvm-options but couldn't make it work. I will try again on another time.
Does the change in that branch look sane? If it does, I'll merge it and do the same for cljs repl
@juhoteperi looks sane even though I feel like we should not just limit messages but also cache these modifications.
@martinklepsch makes sense. I'll see what I can do.
Should work by using fileset-diff to find changed cljs edns
@juhoteperi: maybe store a content hash of the files somewhere and only modify fileset if it changed
that could also work. then just commit either new or old fs
Thats effectively what fileset-diff does
Boot-cljs also needs to check diff so that in only writes the main ns when .cljs.edn has changed
that way cljs compiler won't think the main ns changes everytime
@crimeminister: I think I have a setup similar to what you described.
It's still under development, but I have multiple independent clojure libraries within the same repo.
Sounds like just the thing, I will take a look. Thanks!
The important parts for building say, the ergo
library are: :resource-paths #{"src/ion/ergo"}))
and sift {:move {+re-source-files+ "ion/ergo/$1"}})
and then using sift
in the build task: (comp (pom) (sift) (jar) (install))
I've even published some of the libaries to clojars using that build.boot
file, so I think it's safe to say that it can be done, and I still like this setup, even if it isn't that common.
looks awesome to me!
Will try implementing that pattern in my repo, see how much friction I get… seems like it would be great for the Clojure parts, am now going to need to see how many tasks are out there for the other stuff, e.g. packer, pallet, docker/rkt, etc.
Glad I asked, was planning just to pick Bazel/Buck/Pants
@alandipert: have you looked at my generative beast: https://github.com/decomplect/ion/blob/master/src/ion/ergo/core.cljc
@crimeminister: the thing to keep in mind is that with boot you might have to program things instead of finding a lib/plugin, but the barrier to programming is low
but it works out because programming is always more fun than configuring
@meow as I am discovering 😄
@alandipert forced to write more Clojure? O, the horror
hehe exactly
(meanwhile I am sneaking it into PROD hidden in JARs)
Dunno if folks are over in IRC, but there’s someone trying boot and I haven’t seen the error before. Something like Exception in thread "main" java.lang.IllegalArgumentException: Bad artifact coordinates boot:pod:jar:, expected format is
@mathiasx: yeah totally, except for ~/.boot/profile.boot
I think there may be a race condition or something with boot-cljs
when using the with-pre-wrap
+ with-post-wrap
method of injecting stuff into the build
it happens rarely (like 5-10% or less) but i have the stacktrace of it happening with adzerk/boot-reload
I created new Sass plugin for Lein and Boot which uses Libsass through Java wrapper library: https://github.com/Deraen/boot-sass
It can search for imports in classpath and it's quite fast (bootstrap 4 compile is 200ms).
awesome!!
Not sure how it works on OS X as the JNA lib says they don't have automated tests for OS X
@pandeiro: regarding the race condition — is there an exception (or whats the symptom)?
@juhoteperi: nice job on the boot-sass thing, will test!
@martinklepsch: yeah I have the stacktrace
@martinklepsch: Great. I wrote it really fast so wouldn't be surprised if imports wouldn't work in some case. Also, it's still missing support for all options (including source-maps).
i was just wondering if i should create an issue, and if so, if we think this is a boot-cljs issue or a boot-reload issue
@pandeiro: what does the exception look like? I got something weird/similar when toying with both recently so maybe it’s the same
Hi. Is there a way to require hoplon.core in index.hl.cljs?
@juhoteperi: I think it should probably also scan for .sass
if it’s a sass task 😛
@martinklepsch: I don't know what's the difference between sass and scss, I only know that the implementation is libsass
@pandeiro: that’s not the one I’ve seen. Filing an issue against boot-cljs or reload is probably best
Also jsass, had some mention about sass syntax not being supported on some case
@juhoteperi: it’s
a
color: blue
vs
a { color: blue }
@martinklepsch: I've hit this now in several "plugins" that use this "trick" with boot-cljs
... I guess I'll file there
@pandeiro: what “trick” do you mean?
@juhoteperi: afaik libsass supports both styles. (`sassc` is libsass I think and that’s what I’m currently using)
@martinklepsch: (with-pre-wrap ;; create some cljs.edn builds dynamically ...
+ (with-post-wrap ;; do something after the compilation has happened ...
@pandeiro: definitely file an issue and if possible some repro instructions
@martinklepsch: the kicker is that it is not repro-able
well, then the repro is “do it at least 20 times until it fails” 😛
these bugs are the best, lol
Never seen it and I've been using boot-cljs/reload for 1 month at work now
@juhoteperi: i think 5% may be high in fact
Do you have multiple cljs.edn files?
Could be something related to that
@juhoteperi: just added .sass locally and works fine except that the extension stays .sass
@martinklepsch: Works fine = doesn't compile it at all?
@juhoteperi: no no, it’s compiled, just extension isn’t modified
ah you mean you editted the task?
yeah — added .sass
to the list of extensions to search for
https://github.com/Deraen/sass4clj/blob/master/src/sass4clj/core.clj#L123 the output name is generated here
but I might move that to the task
@juhoteperi: I’d also suggest using core/tmp-path
& core/tmp-file
instead of boot.tmpd/file
/ boot.tmpd/path
Talking of tmp-path I keep getting warnings running boot:
temp-dir! was deprecated, please use tmp-dir! instead
(might be boot-cljs)
@lukemorton: that means one of the tasks you are using uses an outdated api
@lukemorton: if it’s boot-cljs
it must be really old
hmm weird will investigate
Meh will probably be one of the smaller libraries then, not too bothered. Only set this all up a few days ago.
:dependencies '[[org.clojure/clojurescript "1.7.48"]
[quiescent "0.2.0-RC2"]
[adzerk/boot-cljs "1.7.48-4"]
[adzerk/boot-cljs-repl "0.1.9"]
[adzerk/boot-reload "0.3.2"]
[mathias/boot-sassc "0.1.5"]]
Could be cljs-repl, 0.1.9 is quite old despite being latest stable
As I managed to use boot-cljs-repl succesfully today, I think I'll try doing proper release soon
I’ve been using boot-cljs-repl with great stability for a good while fwiw
SNAPSHOT @martinklepsch ?
coo, cheers, upgraded... no warning
apart from on installing WARNING: org.clojure/tools.nrepl version null is older than required 0.2.10
seems to be working anyways tho