This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-04-06
Channels
- # admin-announcements (17)
- # beginners (78)
- # boot (162)
- # braid-chat (2)
- # cider (20)
- # cljs-dev (9)
- # cljsjs (41)
- # cljsrn (17)
- # clojure (98)
- # clojure-austin (5)
- # clojure-brasil (1)
- # clojure-dusseldorf (1)
- # clojure-greece (1)
- # clojure-ireland (2)
- # clojure-italy (1)
- # clojure-japan (5)
- # clojure-russia (128)
- # clojure-uk (2)
- # clojurescript (29)
- # core-async (1)
- # core-logic (7)
- # css (1)
- # cursive (12)
- # datomic (18)
- # devcards (1)
- # dirac (6)
- # emacs (31)
- # funcool (28)
- # hoplon (208)
- # jaunt (66)
- # jobs (1)
- # juxt (6)
- # lein-figwheel (14)
- # off-topic (9)
- # om (83)
- # om-next (6)
- # onyx (63)
- # overtone (1)
- # parinfer (2)
- # protorepl (23)
- # re-frame (27)
- # reagent (14)
- # ring-swagger (8)
- # slack-help (2)
- # spacemacs (1)
- # untangled (56)
wow, .boot/cache was consuming >10Gb of my precious SSD!
I don't think I've ever cleared it down
Now I've deleted the cache, boot is /so/ much faster
@malcolmsparks hmm might be time to implement garbage collection in the cache
@micha: Filesystems are really strange. They do things like cache directories as you make accesses. I ran into a bug with this the other day. It's very possible that the kernel cache is trying to load a bunch of the directory into memory or something.
What does this warning mean: Warning: version conflict detected: org.clojure/clojure version changes from 1.6.0 to 1.8.0
It means that your dependencies probably aren't quite right, as the clojure version is changing.
If clojure isn't first in your list of dependencies, I think you need to move it there. You also need to make sure you're including clojure as a dependency. People forget that often.
This is the first dependency in build.boot: [org.clojure/clojure "1.8.0" :scope "test"]
I'm also getting similar warnings for joda-time and clj-time, I'm not even using them anywhere.
@tabrez do you have a dependency that uses clojure 1.6 in your profile.boot
file? That would get added before build.boot
@adamfrey: Perhaps yeah. I'm using my brother's file: https://gist.github.com/tabrez/c6903a978f969ca5bcd53fb7cf762f7c
@adamfrey: You were right, I have commented everything in profile.boot and all three warnings are gone. Thanks!
@tabrez, also if you want to keep the stuff in your profile.boot but avoid the warning you can find which library depends on 1.6, and add [… :exclusions [org.clojure/clojure]]
to the dependency vector
@adamfrey: Ah nice. It shows me that in my current project, Ring depends on joda-time and clj-time. And I thought I'm not using them. haha
Is this correct syntax to specify compiler options in boot? (cljs :compiler-options {:output-to "target/dev/main.js"})
And I'm getting this warning: WARNING: Replacing ClojureScript compiler option :output-to with automatically set value.
@tabrez: in boot-cljs you usually don't use output-to
output-dir
etc. Instead you specify the location where you want the compiled file to be by placing a $name.cljs.edn
file in your classpath
an example could be resources/public/js/app.cljs.edn
read this for some more details on cljs.edn files:
@martinklepsch: Alright, will try it that way, thanks.
@micha: how about a boot gc
task
a la git gc
I have created an EDN file here: src/cljs/out/main.cljs.edn with the following contents: { :init-fns [jslib-tests.client/init] }. Boot says it's compiling the js file but it's not on the disk: Compiling ClojureScript... • out/main.js
I have tried to put the same EDN file at resources/public/js also but no main.js on the disk after compilation.
@tabrez: have you modified BOOT_EMIT_TARGET
?
@alandipert: yeah we will probably need that, it would be good to understand the performance issue too, to make the GC more effective
@martinklepsch: Yes, boot.properties has this: BOOT_EMIT_TARGET=no. And build.boot has this: (target :dir #{"target/dev"}).
@tabrez: so in target/dev
there should be cljs/out/main.js
@martinklepsch: my entire resources path is being copied to target/dev and there's nothing else in that directory.
my build.boot in case I'm making a silly mistake: https://gist.github.com/tabrez/5e7d8fcc4a2bc6f09d6b2983ff4f501a
micha: yeah. maybe we want boot doctor --gc
and just start with reclaiming disk. then later we can add cool things for getting diagnostics and fixing other things
Hi folks! I'm building a cljsjs package. How to I find the checksum of a js library?
do you have shasum
installed?
basically just shasum -a 256 $file
(I think cljsjs checks for sha256)
Something like shasum -a 256 /Users/leontalbot/Downloads/tabletop-1.4.3.zip
?
that gives me a checksum longer than some other cljsjs packages I find... still ok?
:checksum a84abb1ad9c31d77620efef22e10eb7d1e26f6e6685f8297798e23a74c6e4279
@leontalbot: you'll need to shasum the js file you're trying to package
@leontalbot: it's md5
not sha
hello boot! I've send a pull request to cljsjs but get a mistake
anyone has an idea what I should do?
@martinklepsch @juhoteperi have there been any discussions about boot-reload and figwheel.client since this: https://github.com/adzerk-oss/boot-reload/issues/40 ? What is the current consensus?
@adamfrey: no real decision made. I'm not yet convinced myself
@adamfrey: if you have more thoughts probably best to add to the issue
Things get lost here :)
True. I ran into the namespace reloading problem today. It makes devcards much less useful. I change the source component in one namespace, but the page doesn’t upload because the devcard is in a different dependent namespace
@adamfrey: We probably talked about it here, but probably nothing too important.
I still want to try it but I am still busy with other stuff
@richiardiandrea: Looks like you need to do somethin with the new PR as Github is confused again 😕
@juhoteperi: yes I am going to in a few mins, this time I guess GH is right, I need to rebase on master
now it should be ok
Another addition, if somebody needs it, is a task that moves files with a given metadata keywork to some folder:
(core/deftask rebase
"A task for moving fileset from one dir to another"
[w with-meta KEY #{kw} "The set of metadata keys files must have for being rebased."
p path PATH str "The destination path to rebase the filtered fileset into."
v invert bool "Invert the sense of with-meta."]
(core/with-pre-wrap fileset
(let [files (filter-tmpfiles (core/ls fileset) with-meta invert)
paths (map (juxt :path #(str (normalize-path path) (:path %))) files)]
(core/commit! (reduce (fn [acc [from-path to-path]]
(merge acc (core/mv acc from-path to-path))) fileset paths)))))
in boot is there a way to resolve transitive dependencies of a vector item in :dependencies
in the env?
Ok I found pod/resolve-dependencies
Any ideas what the equivalent of Leiningen's :headless would be? Is it the same as 'boot --server'?
boot repl -s
I tried the above but the assets are still not in public
. Any suggestions?
I use another approach, see rebase
up there, and the code
@richiardiandrea: but I need to move it from a jar to a directory.
yes sorry I missed one part
(comp
(built-in/sift :add-meta {#".*" ::initial-fileset})
(built-in/sift :add-jar (...))
(rebase :path dest-dir :with-meta #{::initial-fileset} :invert true)
)
so I add meta, then with the above rebase
I move them, I can paste a gist for you with that
@richiardiandrea: when I use 'boot repl -s' it shuts down pretty quickly.
@phreed: boot repl -s wait
@richiardiandrea: I see, thanks
Hey all, I am feeling a bit lost trying to deploy my first boot project to beanstalk. This is also the first time I have tried to use Docker so that may just be adding extra confusion to the process. I can find plenty of info for leiningen deployment, but need a little guidance for boot. Can someone recommend some literature for getting a simple project hosted - with or without Docker - to any web deployment service?
@micha Great, thanks for the info! I found a lot more info on ASW site for Dockerrun.aws.json config to get me going
Yeah that seems to make deployment easier. I just need to play with Docker more. Do I need both a Dockerfile and Dockerrun.aws.json?
When I look at the classpath in 'lein repl' and 'boot repl' they are quite different (the lein-classpath is much larger). (use 'clojure.pprint) (-> (java.lang.ClassLoader/getSystemClassLoader) .getURLs seq pprint) Is there something I can read to understand why this is so?
@cork: usually you do, yes. you don't need the Dockerfile if the container you want to deploy is on dockerhub, but of course we need to keep that private in my shop
@phreed: what kind of things do you see in the lein one that aren't in the boot one, and vice versa?
For boot I only see (#object[java.net.URL 0x60def500 "file:/usr/local/bin/boot"] #object[java.net.URL 0x103414e3 "file:/home/fred/.boot/cache/bin/2.5.5/boot.jar"])
I am trying to install the cljsjs packages locally using directions at https://github.com/cljsjs/packages/wiki/Creating-Packages
sto@shiva:~/workspace/tmp/packages/react$ boot package install target Downloading react-15.0.0-rc.2.js clojure.lang.ExceptionInfo: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) data: {:file "/tmp/boot.user459489466208074370.clj", :line 37} java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) clojure.lang.Compiler$CompilerException: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap
sto@shiva:~/workspace/tmp/packages/react$ boot show -p Implicit target dir is deprecated, please use the target task instead. Set BOOT_EMIT_TARGET=no to disable implicit target dir. sto@shiva:~/workspace/tmp/packages/react$
(set-env! :resource-paths #{"resources"} :dependencies '[[cljsjs/boot-cljsjs "0.5.0" :scope "test"]])
@micha: To be more clear the reloader of https://github.com/clojure/tools.namespace is not working the way I expect. I belive it uses the classpath to identify the dependency DAG.
@micha: adding [clj-http "2.1.0"] to the dependency fixed it. wierd. how do people build cljsjs packages without that dependency?
so when you added your clj-http dependency that just overrides the one in that the task was using to create the pod
because tasks that create pods usually merge in the main environment dependencies with the dependencies of the new pod when they create it
@sonnyto: Already fixed, use boot-cljsjs 0.5.1
All cljsjs packages are now updated to use new version
Strange, it is working fine for me.
Also, check boot version
sto@obi:~/workspace/tmp/packages/material$ boot --version #http://boot-clj.com #Wed Apr 06 18:19:26 COT 2016 BOOT_CLOJURE_NAME=org.clojure/clojure BOOT_CLOJURE_VERSION=1.8.0 BOOT_VERSION=2.5.5
Hmm check with Clojure 1.7.0
ng tools.reader-0.8.10.jar from https://repo1.maven.org/maven2/ clojure.lang.ExceptionInfo: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) data: {:file "/tmp/boot.user12626021233355995.clj", :line 33} java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) clojure.lang.Compiler$CompilerException: java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap, compiling:(clj_http/headers.clj:105:1) java.lang.NoClassDefFoundError: IllegalName: compile__stub.clj_http.headers.clj-http.headers/HeaderMap
Quite strange if it works with the came clj-http direct dep but not with one from pod
No ideas