Fork me on GitHub

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 🙂

😂 3

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 🙂


thanks for the deep dive! looks like depstar is the way to go then