This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-08-02
Channels
- # beginners (118)
- # boot (73)
- # cider (2)
- # cljs-dev (65)
- # cljsrn (18)
- # clojure (49)
- # clojure-argentina (4)
- # clojure-italy (19)
- # clojure-portugal (1)
- # clojure-russia (1)
- # clojure-spec (34)
- # clojure-uk (102)
- # clojurescript (202)
- # code-reviews (3)
- # core-async (5)
- # cursive (11)
- # datomic (25)
- # emacs (1)
- # graphql (22)
- # hoplon (6)
- # keechma (59)
- # leiningen (10)
- # luminus (31)
- # lumo (78)
- # off-topic (141)
- # om (32)
- # om-next (2)
- # onyx (6)
- # parinfer (55)
- # pedestal (3)
- # protorepl (3)
- # re-frame (8)
- # reagent (8)
- # ring-swagger (1)
- # rum (20)
- # specter (1)
- # sql (5)
- # test-check (11)
- # vim (13)
- # yada (7)
So following @jaymartin's suggestion, would calling a -main function cause a new pod?
Ok new data, if I run (pom/add-classpath (io/file /path/to/file) main-classloader)
within the main function it works
The file-seq definetely contains the right plugin file (they are equal to each other by .equals
), so it must have something to do with map. Does map create its own environment or something weird like that?
Definetely had something to do with map
. Changing extend-classpath
to the following worked. Anyone know why this works like it did?
How do you build a library with boot? boot pom jar target
seems to not include the source files (ex. core.clj
) in the jar, even though show -f
shows that they're in the fileset
@donyorm yes you have to do that, that is because source-paths
are assigned a role that won't show up in the output 😄
@richiardiandrea So in most library projects src
is actually a resource-path, rather than a source-path?
it should probably be written somewhere I agree
And yeah, I might add that as a PR to the FAQ, it seems somewhat counterintuitive to me
@donyorm usually a library does not AOT, because you want to leave that decision to the user of your lib
@richiardiandrea Right, sorry I forgot to clarify. I meant if I were writing an end-user program (not a library) and using aot, I would have src
in source-paths
(sorry I switched projects on you there 🙂)
@juhoteperi Thanks, that makes sense
what's the best way to add an in-progress (i.e. not compiled or installed) project as a dependency of another project? The two project's will be distributed seperately but I'd like to work on them in parallel
@donyorm boot
and lein
have the concept of checkout
deps for that
@richiardiandrea Any documentation on how that works, google wasn't obvious
Uhm...I thought it was documented somewhere...I never used that myself so cannot help here...sorry!
@donyorm at the end of this page: https://github.com/boot-clj/boot/wiki/Boot-Environment
@martinklepsch Thanks!
Has anyone got an example of :checkouts
as per https://github.com/boot-clj/boot/wiki/Boot-Environment - I haven't been able to get it working and it would be really useful for me right now - I often work on end-user projects where it would be useful to be able to evolve open-source libraries underneath.
this is the same question as @donyorm has been asking I suppose
The checkout task seems to be deprecated in boot.task.built-in
: (core/deftask ^{:deprecated "2.6.0"} checkout ...
It seems to work on the command line with 'checkout -d foo:1.0' - just verifying this
At least I get the message on the console: Checking out foo:1.0...
let me prepare a small demo project real quick…
When I try with checkout -d foo:1.0
I don't get my usual REPL...
@martinklepsch that would be super-useful - I think there's a few of us in this channel who'd make us of it right away
Presumably it doesn't matter how you create the checkout jar (lein, maven, boot, gradle), but consuming boot project will still wokr
yay, I've got it working! I added the checkout
on the command line at the end of my usual mantra
now to get it working from inside the build.boot
file
this is life-changing stuff 🙂
(out of band question, why is 'checkout' deprecated? is there a newer better alternative?)
I tried that but perhaps I got the value syntax wrong, it didn't wokr
this works: (checkout :dependencies '[[foo "1.0"]])
I think I forgot to quote my original checkouts value
PEBKAC
I would try more (set-env! :checkouts '[[foo "1.0"]])
just testing again...
yep, it works!
thanks all
also stumbled into this one along the way: https://github.com/boot-clj/boot/issues/636 — am I missing something or is it just broken?
I've seen a lot of questions about checkouts recently. Someone (else) should document it a little better I think.
I turned the repo into a wiki page: https://github.com/boot-clj/boot/wiki/Checkout-Dependencies
it’s not great documentation but at least something to point people towards 🙂
Great thanks Martin!
Is there any boot
Node.js app template out there somewhere?
@richiardiandrea what are you trying to do with node and boot?
I want to launch a REPL
and I have an error so I was thinking of starting from a working template
the first 2-3 chapters here are instrumental for beginners to cljs and/or boot: https://github.com/magomimmo/modern-cljs
but in general the built-in boot task repl
needs to be superceded by cljs-repl
when working with cljs
is it node? I thought it was browser only
yeah the browser one is easy 😄
you can get into boot/sh
and boot/do-sh
but that gets very hairy quickly and for what gain?
yeah there are also boot-node
and boot-npm
...my problem is a bit different and that is why I wanted to find a correct setup (in particular I am trying/maintaining boot-figreload
)
Thanks a lot anyway for your suggestions! 😄
running boot watch test
with boot-test
, getting a stack trace in the output every time there’s a failure. is this expected? its a bit annoying to always scrollback
Hey folks. Perhaps this has been answered before, but I'll ask anyway: why does a fresh Boot install download so many dependencies when it's first run? Are all of those really necessary? I can see almost every version of Clojure in the list, at least that one has to be superfluous.
It probably downloads just the pom files, not jars