This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-11-11
Channels
- # admin-announcements (71)
- # beginners (8)
- # boot (109)
- # cbus (5)
- # cider (27)
- # cljsrn (77)
- # clojure (65)
- # clojure-austin (5)
- # clojure-berlin (1)
- # clojure-brasil (1)
- # clojure-dev (58)
- # clojure-japan (15)
- # clojure-russia (193)
- # clojure-seattle (3)
- # clojurescript (120)
- # cursive (19)
- # data-science (1)
- # datomic (10)
- # docs (1)
- # editors-rus (17)
- # emacs (2)
- # events (1)
- # funcool (7)
- # hoplon (2)
- # jobs (1)
- # jobs-rus (16)
- # ldnclj (7)
- # leiningen (3)
- # off-topic (12)
- # om (450)
- # onyx (122)
- # re-frame (69)
- # reagent (28)
- # yada (20)
still can't get ring's wrap-resource to serve things out of the fileset instead of directly from resource-paths
i'm remembering back to the discussions about it being a bad thing to serve straight from target as a directory... but i'm not remembering the exact reasons
for now it's the only option when i have an on-disk resource that gets modified during the build pipeline
if i serve target, the updated version is seen; if i just serve through ring's resource response, the original on-disk version is fetched
wonder if you guys who know the internals better can reason about why this would be; it makes no sense to me
@micha Dunaj should work fine It's quite conservative wrt to the binary compatibility so it works with already AOTed code, but I imagine custom AOT would help other forks that have more substantial changes.
@pandeiro I think I have the same issue, I have setup a pedestal server with target on the classpath, so that it can read from the output of an Om client task. Far than ideal, but I'm stuck.
@drakezhard: what do you want to achieve?
serve compiled cljs files mostly?
@drakezhard: basically the contents on the fileset are on the classpath already so if you setup your pedestal handler to serve resources from there it should work
@drakezhard: what exactly isn’t working as you would expect it to?
I have this task (deftask server "Run a web server" [] ({{namespace}}/start :io.pedestal.http/join? true))
The server starts and I have a hiccup template that links to a js resource
I guess I don't have my routes properly setup
I'll think about it and I'll get back at you
Sure. I unfortunately don’t know much about pedestal but probably some people in #C03S1KBA2 do
i've mostly been using boot as a black-box via tenzing (thanks @martinklepsch !) without really understanding it's internals... i find i want to remove the js/app.out from my production cljs build (since it doubles upload times on my crappy dsl) ... i tried adding a post-wrap task so that "boot app build" would do this, but to no effect and no error - https://www.refheap.com/ab0688ce019b410d0e91b8887 . am i doing something obviously wrong ?
@mccraigmccraig: You can use built-in sift
task to remove files from fileset
thanks @juhoteperi - is sift
supposed to be documented here - https://github.com/boot-clj/boot/wiki/Built-In-Tasks ?
@mccraigmccraig: Like all built-in tasks, the documentation is included in Boot: boot sift --help
@juhoteperi: while it’s possible it’s non-obvious to me how to remove specific paths. do you use :include
and :invert
for that?
Seeing some strange behaviour on CI with 2.4.2 — Downloading dependencies seems to leak memory and ultimately causes the CI container to run out of memory. Issue does not exist with 2.3.0.
any idea on how to fix this?
java.lang.IllegalStateException:
Retrieving boot-reload-0.4.2.jar from
Retrieving boot-cljs-repl-0.3.0.jar from
clojure.lang.ExceptionInfo: relevant-cljs-edn already refers to: #'adzerk.boot-cljs-repl/relevant-cljs-edn in namespace: boot.user
data: {:file
"/var/folders/15/ksxs2q354zqgytqvbydtw0q80000gn/T/boot.user3175080558938924148.clj",
:line 45}
java.lang.IllegalStateException: relevant-cljs-edn already refers to: #'adzerk.boot-cljs-repl/relevant-cljs-edn in namespace: boot.user
...
;; Boot web dependencies
[deraen/boot-less "0.4.2-SNAPSHOT" :scope "test"]
[adzerk/boot-cljs "1.7.48-6" :scope "test"]
[adzerk/boot-cljs-repl "0.3.0" :scope "test"]
[adzerk/boot-reload "0.4.2" :scope "test"]
[pandeiro/boot-http "0.6.3-SNAPSHOT" :scope "test"]])
@joelkuiper: Probably be using :refer [cljs]
or such instead of :refer :all
for the tasks, probably boot-cljs/reload/cljs-repl define the same function and they are not marked as private
@juhoteperi: ah yes, stupid should’ve had more coffee 😛
(require '[adzerk.boot-cljs :refer :all])
(require '[adzerk.boot-cljs-repl :refer [cljs-repl start-repl]])
(require '[adzerk.boot-reload :refer [reload]])
fixed it
Anyway, the tasks should be fixed to mark those functions private
hmm did not completely fix it
java.io.FileNotFoundException: Could not locate cemerick/piggieback__init.class or cemerick/piggieback.clj on classpath.
@joelkuiper: Does cljs-repl print a warning about adding dependencies to your project+
ah yes, it does now. they didn’t need to be needed, hence the confusion
Yes I changed to logic on 0.3.0 to make the implementation simpler and more robust
Fair thanks for the help!
I have an idea how to implement it properly so that user doesn't need to add those dependencies but it will require major refactor of all cljs tasks
ugh, cider-connect in Emacs now gives Wrong number of args (4) passed to: util/auto-flush/fn—738
not when connecting, that’s fine
but when actually opening the page
without the connection it’s fine
noting looks outdated, and no other errors thrown
boot -d boot-deps ancient
Searching for outdated dependencies...
Currently using [boot-deps "RELEASE"] but 0.1.6 is available
Currently using [org.clojure/core.async "0.1.346.0-17112a-alpha"] but 0.2.371 is available
Currently using [org.slf4j/slf4j-log4j12 "1.7.12"] but 1.7.13 is available
Currently using [adzerk/boot-test "1.0.4"] but 1.0.5 is available
Currently using [selmer "0.9.2"] but 0.9.5 is available
Currently using [markdown-clj "0.9.74"] but 0.9.79 is available
Currently using [ring/ring-mock "0.2.0"] but 0.3.0 is available
Currently using [metosin/compojure-api "0.23.1"] but 0.24.0 is available
Currently using [metosin/ring-swagger-ui "2.1.3"] but 2.1.3-2 is available
Currently using [org.clojure/clojurescript "1.7.145"] but 1.7.170 is available
Currently using [reagent-forms "0.5.12"] but 0.5.13 is available
Currently using [cljs-ajax "0.5.0"] but 0.5.1 is available
Currently using [cljsjs/react-with-addons "0.14.0-0"] but 0.14.0-1 is available
Currently using [deraen/boot-less "0.4.2-SNAPSHOT"] but 0.4.2 is available
Currently using [adzerk/boot-cljs "1.7.48-6"] but 1.7.170-3 is available
Do you have cider-nrepl 0.10.0-SNAPSHOT? I think it can cause problems with boot
looks like it’s this issue, some interaction with timbre https://github.com/boot-clj/boot/issues/298
checking if updating boot helps
yep, that fixed it
What can I do to add a directory to source-paths for a specific task ?
(deftask run-tests []
(set-env!
(update-in (get-env) [:source-paths] conj "test/clj"))
(println "ENV AFTER " (get-env));; doesn't contain test/clj
(test))
but i think what you have there should be supported, it totally makes sense to try that
Should Closure-Compiler-compatible libs be added to cljsjs or is there a better way to publish/consume them?
@pandeiro: check out openlayers
It's closure compatible and packaged via cljsjs in a dce friendly way
donut cowboy event
rare, but possible
err nvm. that's not what it is
Dead code elimination
Sorry :)
@martinklepsch: I'm trying to go through the cljsjs queue but I forget what the process is
If something LGTM, I merge and then pull master and boot build-jar push-release
for that lib?
@pandeiro: boot package build-jar push-release :)
Should document this better
A change to contributing.md covering that would be great
Whatever you think is best 👍
Read me might be even better
People asked about how to instal locally before
@martinklepsch: if a cljsjs PR is incomplete and I want to add something, how would you suggest doing that?
I was thinking I could just merge and create a new branch and fix it... not sure though
What’s the best way include an extra file into a jar? (something I don’t want on my classpath during dev)
@jgdavey: a task that does merge-env! :resource-paths ... in the "constructor" perhaps?
That would work, but I believe that would put it on the classpath during the rest of the build task (which spits lots of noise).
another option is a task after the jar is built
that patches the jar
https://github.com/boot-clj/boot/blob/master/boot/pod/src/boot/jar.clj could be a reference
@pandeiro: I usually apply the changes locally and then amend or add additional commits
ok cool; for now i've just responded to a few with comments indicating the changes to be made; and i've added labels
Have a small alias for curl and git am from a github pr patch file
@pandeiro: awesome! Thanks so much for your help - really appreciate it :)
@martinklepsch: np, i will try to do more in the coming days
There's also a new #cljsjs channel btw :)
Sure :) thanks again:)