Fork me on GitHub
#boot
<
2015-06-24
>
micha00:06:10

arrdem: it sounds cool, what is it? simple_smile

alandipert02:06:38

headed toward standalone jars that don't need boot, with this new experiment https://github.com/adzerk-oss/boot-ubermain

alandipert02:06:37

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)

podviaznikov03:06:34

@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

danielsz14:06:46

alandipert: Wow. Super.

wagjo14:06:19

reading boot's tutorial, the approach with changing task's root binding is a very clever one simple_smile

danielsz15:06:57

To all EuroClojure attendees, enjoy the conference, enjoy Barcelona!

akiva16:06:06

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.

andrewmcveigh19:06:32

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?

andrewmcveigh19:06:16

I can E.G., (load-file “src/main/clojure/cljs/js_deps.clj”)

alandipert20:06:05

@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

andrewmcveigh20:06:57

@alandipert: Ah, OK. That seemed to work. I had (set-env! :source-paths #{"src/main/clojure”})

andrewmcveigh20:06:32

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?

alandipert20:06:23

@andrewmcveigh: it did get them on the classpath, but one level too deep

alandipert20:06:07

actually, weird - yeah, what you had should have worked

alandipert20:06:20

since /cljs/foo.clj => (ns cljs.foo)

andrewmcveigh20:06:25

@alandipert: how does ~/.boot/cache work? Is it possible it’s causing a conflict?

alandipert21:06:04

@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?

andrewmcveigh21:06:18

I’m on 2.1.2.

andrewmcveigh21:06:33

build.boot is very basic, only:

andrewmcveigh21:06:37

(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"]
                 ])

alandipert21:06:52

oh i get it now

alandipert21:06:03

so they use cljs and clojure to disambiguate whether it's cljs or clojure code

alandipert21:06:06

this is clojurescript HEAD i take it, with the cljc files?

andrewmcveigh21:06:49

Yeah, sorry… HEAD, or a pull from earlier today

alandipert21:06:00

i think it's not working because boot's clojure version is 1.6

andrewmcveigh21:06:29

hmm… I’ve got boot.properties setting it to 1.7-RC2

alandipert21:06:31

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

alandipert21:06:46

does (clojure-version) report 1.7?

andrewmcveigh21:06:45

though I’ve tried digging through the classpath(s) and there is more than one jar in there.

andrewmcveigh21:06:03

Don’t really understand boot’s classpath/loaders stuff yet.

alandipert21:06:41

the idea is an application can't really depend on a language implementation, the language is supplied by the user/boot

alandipert21:06:02

because boot owns the root version of clojure you can also remove the dependency on 1.7 from your build.boot

alandipert21:06:55

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

alandipert21:06:02

was there something beyond this breaking for you?

alandipert21:06:13

(require 'cljs.js-deps) also seems to work

andrewmcveigh21:06:44

Ok, so you’re right. It does work like that simple_smile. But I must have deleted some deps along the way… I think it’s actually an issue with piggieback (no surprise)

andrewmcveigh21:06:22

I’ve had boot/piggieback working together before, but I think there must be something conflicting with clojurescript dependencies.

andrewmcveigh21:06:14

Thanks for the pointers. If I find that anything’s specifically related to boot I’ll come back to you

alandipert22:06:56

sure! glad to help.

alandipert22:06:14

boot + cljs is an area of continual research and i'm probably not the most knowledgable

alandipert22:06:35

but the real experts are engaged at euroclojure so i have to do my best simple_smile

jeluard23:06:34

Did someone test that: https://kul.github.io/10x.txt ? Looks like a great trick.

podviaznikov23:06:47

@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)?