This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-11
Channels
- # announcements (1)
- # beginners (84)
- # boot (325)
- # cbus (1)
- # cider (13)
- # cljs-dev (1)
- # cljsjs (1)
- # cljsrn (15)
- # clojars (8)
- # clojure (221)
- # clojure-czech (2)
- # clojure-ireland (8)
- # clojure-madison (28)
- # clojure-poland (176)
- # clojure-russia (111)
- # clojurebridge (7)
- # clojurescript (75)
- # community-development (70)
- # conf-proposals (19)
- # core-async (29)
- # css (12)
- # cursive (66)
- # datavis (15)
- # datomic (61)
- # devcards (15)
- # dirac (2)
- # editors (13)
- # emacs (9)
- # funcool (7)
- # hoplon (13)
- # jobs-discuss (5)
- # ldnclj (39)
- # ldnproclodo (1)
- # lein-figwheel (3)
- # leiningen (21)
- # liberator (26)
- # off-topic (12)
- # om (153)
- # onyx (168)
- # parinfer (165)
- # proton (21)
- # quil (5)
- # re-frame (58)
- # reagent (4)
- # ring-swagger (12)
- # spacemacs (3)
- # yada (120)
@micha: re: https://github.com/boot-clj/boot/issues/409
just tried (yada "public")
doesn't work
has to be (yada "resources/public")
or my :resource-paths has to be #{"resources/public"} which also affects the jar structure
@jethroksy: in 2.6.0-SNAPSHOT the fileset no longer makes files read-only, as a workaround for the windows issues
Exception in thread "Thread-12" java.nio.file.NoSuchFileException: src/tob/.#handler.clj
but if you were running into issues beacuse of it on linux i think you may have worse problems now
apropos recent convo about producing standalone executables by various means, just put together https://github.com/alandipert/docker-mlton today
@alandipert: How do you enjoy writing in ML? Quite a different experience, no?
it's ok, clojure knowledge ported well enough to get going quickly
i like how weird it is, at the very least
also it's refreshing to make a program with no build tool or dependencies 😄
sounds like assembly based on that description
programming in asm can be fun too
basically, programming :thumbsup:
I think you mean "the most fun!" 😛
@micha: as it happens yesterday I added some .bootignore info at https://github.com/boot-clj/boot/wiki/Configuring-Boot
wow, https://github.com/boot-clj/boot/wiki/Configuring-Boot looks great, documentation has been improving a lot lately!
@martinklepsch: fwiw, I fixed my cljs repl issue from yesterday by changing BOOT_CLOJURE_VERSION to 1.7.0. I’m surprised the repl isn’t using the project dependency for clojure.
Morning folks. FYI I created a page on Pipelines but have not linked to it from the Home page yet - it needs to be vetted by somebody who knows boot better than I do. If it passes muster, recommend that the link to it be placed just before the Tasks link - in my view the concept of a pipeline is really central to boot, even if pipelines are not first class objects. I explain my reasoning on the page, which is at https://github.com/boot-clj/boot/wiki/Pipelines
@hugod: that's a limitation given by the fact that Boot only uses a single JVM
@hugod: thanks for pinging back will try to think of that next time
@martinklepsch: I think you can get round it by using pods.
I'm sure I've changed the clojure version in my pods when me & micha were figuring out isolated environments
@dominicm: ah yeah, that might be possible but with tasks like boot-cljs
you can't easily override it except using BOOT_CLOJURE_VERSION
(which is enough most of the time)
@hugod: boot doesn't know about your project depenedncies until clojure is already loaded
@martinklepsch: I have a fork of boot-cljs where you can run it in a pod, 😛
boot can't know which version to use to run your build.boot until it runs your build.boot
this is why you need to have BOOT_CLOJURE_VERSION be the same as your project clojure dependency
So is it recommended to have a project local boot.properties
file specifying BOOT_CLOJURE_VERSION
?
@micha: oh. I wrote my code to read a file from /tmp/ when I couldn't figure out what was happening...
I give up trying to understand how to set the output directory for boot-cljs. I have no idea what the cljs.edn
mentioned in boot-cljs #104 is supposed to look like.
let's deprecate builds without .cljs.edn
(and rework docs accordingly)
is it? couldn't see any indicators at a quick glance /cc @pesterhazy
@hugod, have you had a look at the sample app?
boot-react-native should not interfere with cljs compilation
Guys do you have the boot logo in svg somewhere so that I can put in ona website?
found!
@richiardiandrea: which website? just curious
I am about to lauch a (small) consultancy company Clojure based, it is actually a "branch" of Scalac: https://github.com/Lambda-X
awesome! happy to add a "companies using boot" to http://boot-clj.com/ also if you wanna PR on https://github.com/boot-clj/boot-clj.github.io
@richiardiandrea: nice! congratulations on launching a business I guess
man i really need to perun-ize http://boot-clj.com some day
so shameful it uses jekyll
cond-let
— does such thing exist?
oh yeah - i just made it a few weeks ago
(defmacro cond-let [& clauses]
(when-let [[binding expr & clauses] (seq clauses)]
`(if-let ~binding ~expr (cond-let ~@clauses))))
using it together with clout to do simple http request matching
use like
(let [x 123]
(cond-let
[y (and (even? x) (inc x))]
(println "x is even and x+1 = " y)
[y (and (odd? x) (dec x))]
(println "x is odd and x-1 = " y)))
I thought of it more like this:
(cond-let y
(thing foo) (println y)
(thing bar) (slurp y))
but I guess they're pretty close
also a let thing with let like binding vectors makes sense hehe
I put a dependency on my build.boot, and when running in the repl it works fine, but when I try to run a file with that dependency it says "could not locate on classpath"
@arijun: how do you mean "running a file"?
but now I see it must be a cursive issue because cursive seems to explicitly set the classpath
yeah, cursive does not work with boot by default yet
there's some stuff in the wiki about cursive if you're curious
Yeah, I ran the lein-generate task and thought that would do it, didn't realize I also had to do something in cursive. Strange that there can't just be a watch on the project.clj file.
guys if I do:
(comp (target)
(cljs :compiler-options devel-options))
shouldn't I see the whole result of compiling my cljs
website in target? js
files included?I don't see core.out
in target for instance
if you put it before a task, it won't be able to see any files craeted by the task that comes after it
ah crap, rookie mistake
the target task just takes a fileset from the previous task in the pipeline, looks inside to see which files need to be emitted, and it writes them to a directory
so for serve
is the same right, it should go after (cljs ...)
yes, so this one does not serve from fileset, undestood
so I have to dump the compilation somewhere then serve from there
in my case: ClojureScript could not load :main, did you forget to specify :asset-path?
😄
but I thought I did not need that anymore 😄
so I still need it even if I don't have a output-dir
(def devel-options
{:optimization :none
:source-map-timestamp true})
so I needed my core.cljs.edn
to be:
https://github.com/martinklepsch/tenzing/blob/master/resources/leiningen/new/tenzing/app.cljs.edn
oh well yes it that case ok 😄
the asset path business makes things complicated and i recommend avoiding it if you can
mmm...I agree I'll see I can avoid it but tenzing does it and I am worried I need it too
but it looks like I needed to have:
{:require [lambdax-web.core]
:compiler-options {:asset-path "lambdax_web/core.out"}}
or no honeyif i remove that, i don't see main.js
served
I lied, it is there and working fine 😄
Are there active Boot communities outside of Slack? (just casually thinking about Slackpocalypse)
The CIDER / refactor folks are very active on Gitter (around their respective GitHub project rooms).
I guess when it happens we'll move too 😄
what's boot's equivalent to this? https://github.com/emezeske/lein-cljsbuild/blob/0.2.9/doc/CROSSOVERS.md
i'm attempting to get http://www.mattgreer.org/articles/embedding-svg-into-a-reagent-component/ working in my project
@micha a question, is main.out
always written in boot-cljs
no big fat main.js
?
command I tried: boot cljs -sO advanced -- target
so i guess condensed form of my question: how can i share a clojure macro in clojurescript with boot?
nothing changes, clojure macro always go in clj
files and needs to be included in source-paths
ahh i've tried this 😞 and i have (:require-macros [embed.svg :refer [embed-svg]])
in my ns
@richiardiandrea: you get a single file if you have the :optimizations
option to boot-cljs as :simple
, or :advanced
yeah but I did exactly that: boot cljs -O advanced -- target
if you try with a clean tanzing template you can see the same
oh, ok so I can delete it safely
thanks, maybe you can add it somewhere in the wiki, or tell where I will add it
yes I know how it generally is, that's why I was surprised to see the .out
😄
I looked and you are right
well yes, but it is sane to write it somewhere imho, I can do it, I just don't know where is more appropriate
strange thing happening too: when i refer to the clojure macro AND try to invoke in the clojurescript, i get an error in boot from a file that's no longer in my project No such namespace: alandipert.storage-atom
mmm...not that I know of...but wait for the gurus 😄
all other state is stored in ~/.boot/cache
, but only truly immutable things are stored in there
so my setup is this: i have a clojure macro in src/embed/svg.clj
and (:require-macros [embed.svg :refer [embed-svg]])
is a line in my clojurescript file. my build.boot has "src/clj"
in the source-paths set
calling
(defn some-svg-component []
(embed-svg "test.svg"))
will cause the strange error to occurmy ps aux reveals massive classpath /usr/bin/java -classpath /Users/naomarik/Sites/....
(continues for like 15 lines
(:require-macros [embed.svg :refer [embed-svg]])
if i edit this line slightly to include the wrong path it will give me a sensible error
invoking the macro though still gives me an error from the file that no longer exists
the onlything in the macro file is this
(ns embed.svg
(:require [pl.danieljanus.tagsoup :as ts]))
(defmacro embed-svg [svg-file]
(let [hiccup (ts/parse-string (slurp svg-file))]
`~hiccup))