This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-12-06
Channels
- # adventofcode (181)
- # aws (6)
- # beginners (112)
- # boot (38)
- # cider (11)
- # cljs-dev (12)
- # cljsrn (2)
- # clojure (187)
- # clojure-greece (31)
- # clojure-italy (19)
- # clojure-new-zealand (1)
- # clojure-poland (1)
- # clojure-spec (20)
- # clojure-uk (114)
- # clojurescript (97)
- # core-logic (25)
- # cursive (3)
- # data-science (17)
- # datascript (3)
- # datomic (23)
- # defnpodcast (1)
- # duct (5)
- # emacs (3)
- # fulcro (299)
- # graphql (108)
- # jobs (1)
- # juxt (4)
- # lein-figwheel (7)
- # leiningen (1)
- # lumo (9)
- # nrepl (2)
- # off-topic (10)
- # om (2)
- # onyx (36)
- # pedestal (1)
- # perun (3)
- # re-frame (14)
- # reagent (12)
- # ring (2)
- # rum (11)
- # shadow-cljs (6)
- # spacemacs (4)
- # unrepl (8)
I'm writing a blog post on updating to Java 9, does anyone have any feedback on it? Things I missed? https://deploy-preview-11--deps.netlify.com/blog/upgrading-clojure-projects-to-use-java-9/
LGTM 😄
@danielcompton that link doesn’t work for me
@alexmiller hmm, https://deploy-preview-11--deps.netlify.com/blog/how-to-upgrade-your-clojure-projects-to-use-java-9/
ah I updated the (not so) permalink, my bad
Just published cause I'm about to go to bed, but feedback still welcome https://www.deps.co/blog/how-to-upgrade-your-clojure-projects-to-use-java-9/
Hello, I have a question on how boot use Java classpath. I want to develop a web app that combines danielsz/system and weavejester/environ
;; dev/.boot-env
{:http-port "3000"}
;; project/systems.clj
(defsystem webserver
[:web (new-web-server (env :http-port))])
;; build.boot
(merge-env! {:resource-paths #{"res"}})
(deftask with-dev "" []
(merge-env! :resource-paths #{"dev/res"})
identity)
(deftask run "" []
(comp (with-dev) (comment start system)))
;; => error .boot-env not in classpath
In development mode, I store these variables in dev/res/.boot-env
. I want to include this file in the classpath during development only.
thus, I created two boot tasks: with-dev
to include dev/res
in the resource paths and run
to execute the system (a web server)
It works when I put .boot-env
in res
(the common resource paths), but not when the file is in dev/res
my understanding is that the classpath is loaded once build.boot is read, and that it cannot be changed by other tasks
@fmind boot's classpath can be changed dynamically. It can be changed by other tasks.
the thing is: it works when I put the file in the top level merge-env!, but not the task level merge-env!
@fmind is this open source? Can you share so I can try myself? Otherwise I will create a repo showing how I think this should work.
@dominicm well ... I tried to create a single repo to demonstrate the issue, and it works
[boot-tools-deps "0.1.4"]
released: depends on latest tools.deps.alpha
and system defaults from brew-install
; fixes how -r
and -c
options work (in light of discussion above about -Srepro
); adds a -A
option as a synonym for -R
and -C
both specifying the same alias for resolving and classpath updates.
@seancorfield hey! From your experience working with tools.deps — how hard would it be to say “here’s a deps.edn; go make me a pod with it”? I assume that should be relatively straightforward?
@martinklepsch Should be straightforward. Probably something I could refactor the code in boot-tools-deps
to expose easily...?
If I refactored the main load-deps
function out to return the three things it does here https://github.com/seancorfield/boot-tools-deps/blob/master/src/boot_tools_deps/core.clj#L81-L94 then you could just call that function from code that wanted to set up a pod I think?
Can you open an issue with what you'd like to see there?
@martinklepsch that's a nice nice idea...especially if the files comes from the fileset and therefore can be rewritten
in particular for pods in dependencies...`boot-cljs` could have a deps.edn
that it marks with metadata :adzerk.boot-cljs
and that it reads deps from. If other tasks want add stuff to the pod classpath they can rewrite the file
(brainstorming here)