This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-12-13
Channels
- # bangalore-clj (5)
- # beginners (94)
- # boot (145)
- # cljs-dev (4)
- # cljsjs (79)
- # cljsrn (18)
- # clojure (343)
- # clojure-dev (21)
- # clojure-dusseldorf (6)
- # clojure-india (1)
- # clojure-italy (2)
- # clojure-nl (4)
- # clojure-russia (62)
- # clojure-sanfrancisco (1)
- # clojure-spec (109)
- # clojure-taiwan (1)
- # clojure-uk (103)
- # clojurescript (102)
- # code-reviews (30)
- # component (1)
- # cursive (39)
- # datascript (7)
- # datomic (68)
- # emacs (11)
- # figwheel (1)
- # gorilla (1)
- # hoplon (234)
- # off-topic (46)
- # om (52)
- # onyx (32)
- # planck (9)
- # proton (4)
- # protorepl (5)
- # random (1)
- # re-frame (36)
- # ring (18)
- # ring-swagger (1)
- # specter (6)
- # untangled (3)
- # vim (56)
@kenbier the boot.sh file is designed to be compatible with all previous and future versions of boot
curl -fsSLo $HOME/bin/boot https://github.com/boot-clj/boot-bin/releases/download/2.5.2/boot.sh chmod +x $HOME/bin/boot boot -u # Run once to install JARs dependencies
the version of boot. jar you will use is determined by the BOOT_VERSION environment variable
my google fu is weak. I can’t seem to make aliased namespaced keywords (like ::p/foo
) work in build.boot, it fails with java.lang.RuntimeException: Invalid token
, when it tries to pass through clojure.core/read-string
. Works just fine from a repl, though. Any tips?
java.lang.RuntimeException: Invalid token: ::p/tags
...
clojure.core/read-string core.clj: 3663
boot.util/read-string-all util.clj: 375
boot.main/-main main.clj: 170
...
boot.App.runBoot App.java: 399
boot.App.main App.java: 488
...
Boot.main Boot.java: 258
maybe a clojure mismatch between the repl and boot.version
, it has happened to me in the past
this is going to show my lack of knowledge, but is there a way so that my build.boot
does not expose tasks from third party libs? like, i'm using boot-http
but i see those tasks when i type boot
.
i want to use these third party tasks, but don't necessarily want my own build.boot
to expose those as tasks
2.7.0 release imminent
erm...
2.7.0 is out!
hey guys, i’m a boot noob. have a potentially dumb question: i use boot-cljs (1.7.228-2, boot 2.6.0, cljs 1.9.225, clj 1.9.0-alpha14 - pinned in boot.properties
) and compiling cljs works alrite, but in a cljc - I’m getting a problem: ERROR: Unable to resolve symbol. that symbol is def-ed as a standard (def )
(as opposed to reader conditional)
@ryancole yes, the build.boot specifies:
(set-env!
:source-paths #{"src/clj" "src/cljs" "src/cljc"}
:resource-paths #{"html”}
@ryancole have you tried downgrading to 2.6.0?
looks like f339a8d9464bfc0e05f9c963744377e91a042c48 is the culprit
if the fix is small we can push 2.7.1 tmrw, otherwise if you did boot -u
you can set back to 2.6.0 by editing ~/.boot/boot.properties, a boot.properties file in your project dir, or by setting BOOT_VERSION env var
@lxsameer by default it recompiles these and all files that depend upon the changed files
you can disable that cascading effect by using the Clojurescript compiler option :recompile-dependents
but that makes things less predictable/deterministic
@lxsameer there's no caching between individual boot
invocations
historically this kind of caching has always led to more hard-to-track-down problems that consume more time than the extra minute/30s you wait a few times a day
@lxsameer when you say "compiles the whole thing" do you refer to initial startup or incremental compiles?
@martinklepsch both, the initial startup is logically expected, but incremental one isn't expected
@lxsameer what are the times for first/incremental?
hey @mitchelkuijpers - did you manage to sort out your issue withy cljc? i’m hitting the same problem..
@lxsameer I meant first run and incremental runs (as in two times)
@martinklepsch sorry i can't understand it 🙂,
@lxsameer I mean how long does initial startup take and how long to incremental runs take 🙂
@martinklepsch both around 25secs, It's weird because incremental should takes less.
@lxsameer hm that's odd. Is the project public by any chance? Otherwise you may try to supply the :verbose
option to the Clojurescript compiler
@martinklepsch let me try to investigate this, If I couldn't fix it I'll bother you again 🙂
good luck 😄
i am trying to build a cljsjs package, but obviously, i am running into issues. anyone has a link to boot docs on how such stuff as (sh "npm" "run" "build:browser")
should work? I am getting "cannot run program" for anything I try
@ashnur (sh ...)
basically just shells out. do you have npm
installed?
java.io.IOException: Cannot run program "ls" (in directory "/home/ashnur/.boot/cache/tmp/home/ashnur/projects/packages/jsnetworkx/buq/pzdj8x/jsnetworkx-0.3.4"): error=2, No such file or directory
what happens when you do ls /home/ashnur/.boot/cache/tmp/home/ashnur/projects/packages/jsnetworkx/buq/pzdj8x/jsnetworkx-0.3.4
(in a regular terminal)
i copied this file https://github.com/cljsjs/packages/blob/master/blockapps/build.boot and tried to rewrite it
can you gist your file?
well, right now it's obviously completely wrong and broken but sure: https://gist.github.com/ashnur/5b21d929572bad24b5e26e09f8a27c24
what's the best solution to add an other project(lib) from source to the current boot project ? ( I want to develop a library on the side )
@lxsameer take a look at boot's checkouts feature
@martinklepsch thanks man
otherwise you can also just add it to :source-paths
but then you'll need to make sure dependencies are met
@ashnur so if the lowercase version doesn't work, have you tried matching the case in this line: https://gist.github.com/ashnur/5b21d929572bad24b5e26e09f8a27c24#file-build-boot-L31
Like JSNetworkX
instead of jsnetworkx
thanks @martinklepsch that worked, now i have different error 😄
progress ;D
There's also #cljsjs btw 🙂
moving to #cljsjs
@martinklepsch it seems that checkout
task is deprecated
@lxsameer there's a :checkouts
env parameter now, unfortunately there's very little documentation around it
I just got bitten by the fact that boot-cljs
defaults to setting cljs compiler's option :output-wrapper false
@lxsameer if you end up using it, adding it to the end here would be very cool: https://github.com/boot-clj/boot/wiki/Boot-Environment
this is not really a good idea for adv compilation builds
@pesterhazy that's not a boot-cljs default but cljs default afaik
@martinklepsch, true but lein-cljsbuild does turn it on for adv compilation builds
Agree that we should also do it, open issue/PR?
maybe we could at least issue a warning if adv compilation builds run with output-wrapper false
?
or even set the default (although that would be a breaking change, not sure how people feel about this post-Hickey2016)
looks like it's documented here: https://github.com/adzerk-oss/boot-cljs/wiki/Differences-to-Lein-cljsbuild
given that the behavior is documented, I'm guessing you'd be disinclined to change the default @juhoteperi ?
@pesterhazy def. open an issue or PR for discussion, I'm pro breaking this if it might save hours for people running into it. Also what are the situations where this would actually end up being a breaking change?
there already is an issue it seems: https://github.com/adzerk-oss/boot-cljs/issues/64
@pesterhazy I think a warning has high chances of being accepted 🙂
@martinklepsch can you please tell me what exactly checkouts
does?
@lxsameer I remember now lol 😄 I'll add it to the docs, 1s
Let me know if this clears things up and feel free to expand of course
Great @lxsameer. Good it's documented now, this came up multiple times before 🙂
Hi I’m new to boot, and I’m a bit confused. I wanted to generate an uberjar apparently but if I add the (uber)
in the pipeline of my build, the jar change name from my-project-version.jar
to project.jar
also I would like to merge different resources directories in this uberjar
@yogsototh you're not doing anything wrong, the uber task imports a lot .pom files which may confuse the jar
tasks naming "algorithm". In this case it falls back to just project.jar
. The jar
task has an option where you can specify the name you want. See boot jar --help
for details.
@yogsototh could you expand on the "merge different resource directories" — not sure I understand
Thanks! I believe this is just a matter of set-env! resource-path, but mainly, I have different projects using trapperkeeper, and mostly, one of them should serve static files (it’s just a trapperkeeper service) and there might be other services using other trapperkeeper services (typically an API)
for now, the resources for the API project is mostly empty, but I would like to keep the file in both project if possible
to simplifiy I would like to merge the resources of two projects like: project-1/resources/public/.... and project-2/resources/files...
if you have resources
in your :resource-paths
then the public
directories will get merged with each other I believe
The uber
task has a :merge
option that you can customize if you need to but I assume your two public directories don't contain identically named files?
generally if you intend to use something as a dependency then it might make sense to scope all files by classpath conventions like com/company/project-1/public/
etc. and then use these directories as resource-root. I haven't had to do that in practice but it seems to be the sane way to avoid some dependency overwriting some file in /public/
yes I totally will do that. Thanks for your help! I could manage to create the uberjar.
Awesome, much success 🙂
Hi, when using bootlaces, is there a way to bypass the GPG security check when deploying to Clojars?
@khiem here is where that is being set https://github.com/adzerk-oss/bootlaces/blob/master/src/adzerk/bootlaces.clj#L90
in case anyone finds it useful [in 0.1.4-SNAPSHOT
]: https://github.com/tolitius/boot-check#handling-errors
I do + thanks!