This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-08-01
Channels
- # beginners (41)
- # boot (25)
- # cider (34)
- # cljs-dev (221)
- # cljsrn (1)
- # clojure (191)
- # clojure-dusseldorf (4)
- # clojure-hamburg (1)
- # clojure-italy (8)
- # clojure-poland (1)
- # clojure-russia (22)
- # clojure-spec (27)
- # clojure-uk (91)
- # clojurescript (101)
- # core-async (11)
- # cursive (33)
- # data-science (9)
- # datascript (3)
- # datomic (30)
- # emacs (4)
- # events (4)
- # garden (6)
- # jobs (3)
- # leiningen (8)
- # luminus (39)
- # lumo (2)
- # off-topic (158)
- # om (13)
- # onyx (1)
- # parinfer (22)
- # planck (2)
- # protorepl (5)
- # re-frame (7)
- # reagent (10)
- # remote-jobs (1)
- # ring (1)
- # ring-swagger (20)
- # unrepl (92)
- # vim (11)
Not sure seperate boot tasks would even work. You probably want to put them in composition
@qqq The figwheel
task of the luminus boot template shows how to compose clj and cljs tasks. (This is a template file, so you'll have to manually insert the placeholders. The cljs profile for boot and luminus isn't working right now, so you can't create one) https://github.com/luminus-framework/luminus-template/blob/master/resources/leiningen/new/luminus/core/build.boot#L62
Actually yogthos just pushed a new version fixing that issue, so you can see a full project showing that task with lein new luminus proj +boot +cljs
. Inside the build.boot will be a figwheel
tasks which boot starts the server and starts the clojurescript compiler
@qqq people do that exactly, both lambone and just/edge have two repls in the same JVM for instance (you just need a pod each)
@donyorm , @richiardiandrea : okay, so my assumption was wrong -- and people in fact do regularly have multiple unrelated tasks + multiple repls running inside a single boot instance ?
depends on what you mean by unrelated. Often building clj and cljs isn't unrelated at all
but the 'work done by boot tasks' in the two are quite separate and often use different dependencies
I currently have three terminals each running a different boot task (I have three separate boot.properties . build.boot files)
1) cljs opt none + opt advanced 2) clj, for packaging into aws lambda functions 3) clj for a web server I'm running
@qqq tasks compose, so as long as you don't have wait
everywhere, you can do: boot cljs aws-lambda web-server wait
yeah I would compose those as one task, there isn't much reason not to and it will save resources
Also, your could just start single boot: boot repl
and then start those Boot piplelines parallel with (delay (boot (cljs-build)))
(delay (boot (aws-lambda)))
Though there are some pitfalls with this, if those tasks modify classpath etc.
@donyorm regarding extend-class
in repl vs -main, I’m wondering if it could be related to boot using pods to isolate classpath (https://github.com/boot-clj/boot/wiki/Boot-for-Leiningen-Users#repl-dependencies). Just getting started with boot myself. Would appreciate an authoritative answer too.