Fork me on GitHub
#depstar
<
2021-05-19
>
Eddie04:05:56

@seancorfield Thanks for the detailed help! After clearing up my misunderstanding about the difference between :extra-deps and :replace-deps things started to make a lot more sense. In hindsight, the README is pretty clear. The “:webassets” example is about adding paths rather than deps, but I probably should have made the connection there. If you think that it is common use case to add deps to the classpath, then perhaps the example could also include :extra-deps but overall I think it is clear as is.

seancorfield04:05:11

@erp12 That's good feedback. I can't think of a good example where you'd specify an alias with an :extra-deps but if I think of one or someone suggests something, I can put it in 🙂

Eddie05:05:09

In my case, the reason for the :extra-deps is because of a dependency that is “provided” in production but missing during local builds. In specific, it is due to the common deployment process of a https://spark.apache.org/ job/application. When deploying a Spark job to a Spark cluster (via a jar) Spark itself should not be in the jar because it is provided by the cluster, thus we don’t include it in our project’s :deps. However, if we want to build an uberjar that runs spark in “local” mode (essentially multithreaded instead of across a cluster) we have to add the Spark dependency in to the build process. I think I have come across a few other frameworks that that have similar deployment patterns, but I can’t think of them off the top of my head.

seancorfield05:05:07

Ah, right, that rings a bell. Do you think you could write that up as a PR against the README in the webassets section @erp12?