This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-12-23
Channels
- # admin-announcements (95)
- # beginners (16)
- # boot (50)
- # cider (15)
- # cljs-dev (47)
- # clojure (149)
- # clojure-italy (5)
- # clojure-russia (94)
- # clojurescript (163)
- # clr (1)
- # cursive (6)
- # datavis (9)
- # editors-rus (4)
- # hoplon (24)
- # jobs (9)
- # ldnclj (32)
- # lein-figwheel (4)
- # mount (5)
- # off-topic (2)
- # om (68)
- # parinfer (31)
- # proton (1)
- # reagent (32)
- # remote-jobs (1)
- # yada (5)
@donmullen: sweet! he also wrote a great blog post about the porting experience, http://www.dotkam.com/2015/12/22/the-story-of-booting-mount/
I wonder if you guys looked at https://github.com/ndmitchell/shake
conceptually similar to boot - write your build in code, however Shake operates on monadic rules which build up a dynamic dependency graph, while Boot has a fileset which the tasks use as a playground
knowing more about the build allows Shake to be more efficient (invoking rules in parallel, etc), wonder if this kind of thing on top of the fileset makes sense
@dm3 i think that approach and boot are the two opposite conceptual high grounds
@dm3: a static dependency graph forms a data structure with properties similar to the immutable fileset, but isn't dynamic
vs. boot, with an immutable value, which empowers caching at a smaller granularity
that said, have not looked at shake
i see
sounds more similar to boot then, as it builds up a data structure with fileset-like properties
after boot though it's hard for me to imagine the advantage of a functional approach without an immutable value at the center
what use case are you imagining?
i think i understand what you mean now, are you kind of thinking as an alternative to the task model?
or maybe a jit-like thing, where you run a task build once and then the system creates a parallelizable graph for you
one thing i've been noodling is the idea of remote tasks, like "task services"
maybe different approaches are more amenable to distributed builds
@dm3: maybe boot entrypoint is a lambda function in aws. or maybe tasks can be microservices in lambda or some container, that are always warm and accept and return a fileset over network
and instead of sending the whole fileset contents around, the fileset value refers to values in S3
@escherize: happy to serve!
@alandipert: another interesting feature of shake - resuming (not restarting) the build after errors
@dm3: i feel boot blurs the distinction between resume and restart, as tasks can cache fileset values they've seen. but you've convinced me, i'll check this thing out now
I've just read the paper: http://ndmitchell.com/downloads/paper-shake_before_building-10_sep_2012.pdf
btw happy holidays everyone! boot -d boot/greet:2015 greet
Hi, can any body help - I’ve made brew install boot-clj
, then boot -h
returns me:
Retrieving boot-2.5.2.jar from
Retrieving pod-2.5.2.jar from
Retrieving core-2.5.2.jar from
Retrieving worker-2.5.2.jar from
Retrieving aether-2.5.2.jar from
Please download latest Boot binary:
I’ve cleaned up ~/.boot directory, but no success@artemyarulin: do you have a boot.properties
file? (in your working dir)
also is homebrew up to date? what does boot -V
return?
fessguids-MacBook-Pro:~ fessguid$ tree ~/.boot/
/Users/fessguid/.boot/
└── cache
├── boot.properties
├── cache
│ └── boot
│ └── default
│ └── 1.7.0
│ └── 2.5.2
│ └── deps.cache
└── lib
└── 2.2.0
└── aether.uber.jar
fessguids-MacBook-Pro:~ fessguid$ boot -V
#
#Wed Dec 23 16:50:22 EET 2015
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.5.2
#App version: 2.2.0
@artemyarulin: your binary is very old. I guess updating homebrew and reinstalling will fix the problem.
ack, thanks!
maybe check boot version in homebrew with brew info boot-clj
just to be sure
@martinklepsch: Thanks, I had quite old brew, updated till the latest version, re-installed boot - everything is OK now
@artemyarulin: great 👍