This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-17
Channels
- # announcements (45)
- # asami (30)
- # babashka (96)
- # beginners (24)
- # calva (43)
- # chlorine-clover (3)
- # cider (10)
- # clj-kondo (45)
- # cljdoc (10)
- # cljs-dev (2)
- # clojars (5)
- # clojure (139)
- # clojure-australia (5)
- # clojure-europe (53)
- # clojure-filipino (1)
- # clojure-germany (27)
- # clojure-nl (4)
- # clojure-provo (7)
- # clojure-serbia (6)
- # clojure-spain (1)
- # clojure-uk (8)
- # clojuredesign-podcast (8)
- # clojurescript (76)
- # code-reviews (6)
- # conjure (4)
- # core-async (1)
- # cursive (73)
- # data-oriented-programming (2)
- # data-science (3)
- # deps-new (4)
- # depstar (7)
- # docker (16)
- # duct (7)
- # events (1)
- # fulcro (13)
- # girouette (1)
- # graphql (4)
- # honeysql (11)
- # jobs (2)
- # joker (1)
- # kaocha (4)
- # leiningen (5)
- # malli (11)
- # off-topic (14)
- # other-languages (1)
- # pedestal (4)
- # practicalli (1)
- # re-frame (5)
- # reagent (3)
- # releases (2)
- # remote-jobs (7)
- # shadow-cljs (12)
- # sql (24)
- # startup-in-a-month (2)
- # tools-deps (99)
- # vim (8)
- # vscode (1)
- # xtdb (28)
anyone familiar with uberdeps? I’m trying out different lightweight solutions for building jars from deps.edn and found it very similar to depstar, only except that it still uses the main-opts interface. Are there other notable differences between uberdeps
and depstar
?
No idea. I’ve never looked at uberdeps
. I just steer people to depstar
, esp. when they can’t get uberdeps
to work 🙂
OK, so I've been and taken a look at it @achan961117: uberdeps
doesn't do AOT compilation (`depstar` does), it requires you to decide whether your JAR is Multi-Release or not (`depstar` does that automatically), it only produces uberjars, not library JARs (`depstar` does both), it doesn't do anything with pom.xml
(`depstar` can generate it and can keep it updated for you). It doesn't look like uberdeps
can exclude any files (`depstar` can).
So if you want to package and deploy libraries, you'll want depstar
. If you want to build an uberjar (for an application) and want AOT compilation taken care of automatically, use depstar
. I can't tell whether uberdeps
deals with the Log4J2Plugins.dat
file properly.
Oh, another thing uberdeps
can't do: add additional entries to the MANIFEST.MF
file (`depstar` provides an option to do this -- because folks asked for it).
I use depstar
for building all my open source projects (and deps-deploy
to deploy them to Clojars) and I rely on depstar
to update group/artifact/version in pom.xml
as part of my workflow there. At work we use depstar
to build all our production artifacts (over a dozen apps, built from over three dozen subprojects, in a monorepo with 110K lines of Clojure). So depstar
is very much battle-tested 🙂