This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-10
Channels
- # announcements (3)
- # beginners (67)
- # calva (4)
- # cider (3)
- # clj-kondo (58)
- # cljs-dev (4)
- # clojure (172)
- # clojure-berlin (4)
- # clojure-chicago (8)
- # clojure-europe (4)
- # clojure-greece (8)
- # clojure-italy (12)
- # clojure-nl (4)
- # clojure-spec (7)
- # clojure-uk (77)
- # clojurescript (13)
- # clojutre (16)
- # core-async (10)
- # cursive (3)
- # datomic (29)
- # figwheel-main (27)
- # fulcro (22)
- # garden (3)
- # jobs (2)
- # jobs-discuss (13)
- # juxt (5)
- # leiningen (14)
- # mount (4)
- # off-topic (28)
- # pathom (6)
- # pedestal (8)
- # portland-or (2)
- # re-frame (20)
- # remote-jobs (6)
- # shadow-cljs (13)
- # sql (74)
- # testing (17)
- # tools-deps (1)
- # vim (1)
- # xtdb (1)
I found it. As side project I will try to use property based testing for a real world webapp
Doing a website can be funny but I don't have any content for that website or direction for why to do it š šš
Which build systems are you all using? Iām finding myself reaching for GNUMake, with tools.deps. The Makefiles are building things way outside tools.deps (or Leiningen/Boot) domains. Preferably I would want cross-platform, even possibly Windows
I also use Makefile
+ deps.edn
make clean test push deploy
to deploy my datomic ions app š
I would be inclined to just write clojure functions that do different tasks and call them via aliases from clj and not bother with make
the biggest issue for building that stuff in clojure vs. make or shell scripts tend to be people calling shutdown-agents which breaks the ability to compose the things in a single clojure runtime
I use it in a similar way except make is a gateway to clj
how would you run something say clean, just implement that in clojure
with lumo, or just plain old fs interop?
part of the value of clj is it makes scripting things with clojure easier, so why are you writing scripts that call clj, instead of just doing everything in clojure?
the lumo question makes no sense to me whatsoever in this context, because lumo is a clojurescript runtime, so why would I advocate for getting rid of shell tasks around clj only to shell out to node?
the best thing you can do for any build process is keep node and javascript as far away from it as possible
I think an example would be great, I wasn't trying to guess your methodology, just didn't have enough information on your process
instead write a clojure namespace like
(ns my.build)
(defn -main [& args]
(x)
(y)
(some.namespace/-main)
(z))
make is great, but as a tool is largely about generating multiple artifacts and tracking dependencies between them, which is not something that is done in builds for most clojure projects.
a good use of make would be for writing a rule for generating a class file from a given source file or something, but that doesn't match the compilation model
Right, I kind of thought about it earlier when doing it, since you have to create .PHONY targets that usi g it as a simple alias system isn't the best. But I have targets that run docker containers with certain params, and do other things which are readily available in bash so I went with that
I only mentioned lumo because some I've heard use it for shell scripting in js
I think for many that Target the web would already have mode on the environment so they use for that
Do you just use https://clojuredocs.org/clojure.java.shell/sh for host commands?
For building the clojure part of our project we use leiningen but there's also other stuff and we use make
to orchestrate the whole build.
E.g. running npm build, building end-user docs, deploying artifacts to s3
part of the value of clj is it makes scripting things with clojure easier, so why are you writing scripts that call clj, instead of just doing everything in clojure?
for end users essentially