This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-12-01
Channels
- # adventofcode (93)
- # announcements (44)
- # asami (23)
- # aws (1)
- # babashka (48)
- # beginners (112)
- # calva (26)
- # cider (57)
- # clj-kondo (17)
- # cljfx (5)
- # cljs-dev (21)
- # clojure (124)
- # clojure-europe (19)
- # clojure-hungary (40)
- # clojure-nl (3)
- # clojure-spec (7)
- # clojure-uk (3)
- # clojurescript (3)
- # cursive (81)
- # datalog (11)
- # events (21)
- # exercism (1)
- # fulcro (37)
- # graalvm (1)
- # introduce-yourself (8)
- # jobs (1)
- # lsp (1)
- # malli (5)
- # membrane-term (17)
- # minecraft (3)
- # nextjournal (5)
- # off-topic (14)
- # other-lisps (14)
- # polylith (58)
- # reagent (16)
- # reclojure (3)
- # reitit (6)
- # remote-jobs (1)
- # shadow-cljs (55)
- # spacemacs (15)
- # testing (2)
- # tools-build (7)
- # tools-deps (191)
Since I've been fielding Qs today about using aliases as data and abstracting builds in a monorepo, I figured it would be useful to highlight Polylith's build.clj
script -- which is modeled on some of what we do at World Singles Networks: https://github.com/polyfy/polylith/blob/master/build.clj
For folks using my build-clj
but not needing the deploy-to-Clojars functionality and not wanting to bring in slipset/deps-deploy
and "all" of its transitive dependencies:
:build {:deps {io.github.seancorfield/build-clj
{:git/tag "v0.6.0" :git/sha "2451bea"
;; omits deps-deploy dependency:
:deps/root "slim"}}
:ns-default build}
@seancorfield I was thinking, you can also requiring-resolve
deps-deploy. That is what neil
generates when you choose clj -Tneil add-build :deps-deploy true
. It will lazily load deps deploy since it saves on startup time when you're not using it.
In the very early versions of build-clj
, in-house, before it became an actual project, it was doing the dynamic require, but then I turned it into a static require for that initial version so folks wouldn't trip over trying to deploy
or install
without adding the deps-deploy
dependency to their :build
alias themselves.
But deps-deploy
originally didn't have many dependencies so I didn't worry much about it -- just pomegranate. Now it has a shed load of Maven and S3 stuff so I've been toying with the idea of making it an optional dep for a while.
(and install
switched to tools.build.api/install
some time ago)