This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-06-24
Channels
- # admin-announcements (5)
- # beginners (19)
- # boot (48)
- # cider (36)
- # clojure (116)
- # clojure-berlin (2)
- # clojure-italy (2)
- # clojure-japan (40)
- # clojure-russia (11)
- # clojure-sg (2)
- # clojure-spain (11)
- # clojurescript (53)
- # docs (2)
- # editors (14)
- # euroclojure (57)
- # events (2)
- # instaparse (11)
- # ldnclj (14)
- # onyx (2)
- # reading-clojure (4)
- # reagent (28)
headed toward standalone jars that don't need boot, with this new experiment https://github.com/adzerk-oss/boot-ubermain
the plan is to refactor boot.App a bit so the boot runtime can work in environments that boot didn't initiate (downstream java -jar, servlets)
@micha: fyi I found root problem why boot-s3 caused empty target
directory. Basically I forgot to return fileset
from the task - https://github.com/hashobject/boot-s3/blob/master/src/hashobject/boot_s3.clj#L25
reading boot's tutorial, the approach with changing task's root binding is a very clever one
I’m envious! Read a tweet, possibly Anna’s about how there’s Clojure people on the plane ride there already chatting. How great is that.
Hi, I’m trying to use boot to work on the clojurescript source (the clojure compiler parts). I don’t seem to be able to (require ‘cljs.repl)
namespaces in the source code (`src/main/clojure/…`) in my build.boot
file. Is that normal?
I can E.G., (load-file “src/main/clojure/cljs/js_deps.clj”)
@andrewmcveigh: can you share your build.boot? it sounds like you may need to (set-env! :source-paths #{"src/main/clojure/cljs"})
to get that code on the classpath
@alandipert: Ah, OK. That seemed to work. I had (set-env! :source-paths #{"src/main/clojure”})
I’d expected what I had to get the sources on the classpath though. Is there something that boot does differently than lein/maven there?
@andrewmcveigh: it did get them on the classpath, but one level too deep
actually, weird - yeah, what you had should have worked
since /cljs/foo.clj => (ns cljs.foo)
right...
@alandipert: how does ~/.boot/cache
work? Is it possible it’s causing a conflict?
@andrewmcveigh: .boot/cache is where tmp files supporting caching/structural content sharing go, shouldn't be a factor... which version of boot are you on? and what does your build.boot look like?
I’m on 2.1.2.
build.boot is very basic, only:
(set-env!
:source-paths #{"src/main/clojure"}
:resource-paths #{"src/main/cljs"}
:test-paths #{"src/test/clojure"}
:dependencies '[[org.clojure/clojure "1.7.0-RC2"]
[org.clojure/data.json "0.2.6"]
[org.clojure/tools.reader "0.9.2"]
[org.clojure/google-closure-library "0.0-20150505-021ed5b3"]
[com.google.javascript/closure-compiler "v20150609"]
[org.mozilla/rhino "1.7R5"]
])
oh i get it now
so they use cljs and clojure to disambiguate whether it's cljs or clojure code
this is clojurescript HEAD i take it, with the cljc files?
Yeah, sorry… HEAD, or a pull from earlier today
i think it's not working because boot's clojure version is 1.6
hmm… I’ve got boot.properties setting it to 1.7-RC2
at least, this is a contributing factor to whatever weird things yuo might be seeing... did you set BOOT_CLOJURE_VERSION=1.7.0-RC2
does (clojure-version)
report 1.7?
yep 1.7.0-RC2
though I’ve tried digging through the classpath(s) and there is more than one jar in there.
Don’t really understand boot’s classpath/loaders stuff yet.
the idea is an application can't really depend on a language implementation, the language is supplied by the user/boot
because boot owns the root version of clojure you can also remove the dependency on 1.7 from your build.boot
so i added your build.boot and in the clojurescript checkout ran BOOT_CLOJURE_VERSION=1.7.0-RC2 boot repl
and then (require 'cljs.repl)
and it appeared to work
was there something beyond this breaking for you?
(require 'cljs.js-deps)
also seems to work
Ok, so you’re right. It does work like that . But I must have deleted some deps along the way… I think it’s actually an issue with piggieback (no surprise)
I’ve had boot/piggieback working together before, but I think there must be something conflicting with clojurescript dependencies.
Thanks for the pointers. If I find that anything’s specifically related to boot I’ll come back to you
sure! glad to help.
boot + cljs is an area of continual research and i'm probably not the most knowledgable
but the real experts are engaged at euroclojure so i have to do my best
Did someone test that: https://kul.github.io/10x.txt ? Looks like a great trick.
@alandipert, @micha quick qestion. How does boot-s3 (https://github.com/hashobject/boot-s3) task should work on your opinion? upload files to s3 from the real path (like target
directory) or work with boot tmp-dir
(upload files to s3 found in tmp-dir)?