boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 179 forks source link

Internal: Tooling to inline dependencies #671

Closed martinklepsch closed 5 years ago

martinklepsch commented 6 years ago

We use some libraries by copying their Clojure source files into Boot jars. This is done to avoid dependency conflicts with anything users specify on their own. Currently this copying is done manually but it should probably get automated at some point.

via https://github.com/boot-clj/boot/issues/355#issuecomment-165494940

RadicalZephyr commented 5 years ago

I put together a start on a boot task similar to mranderson for inlining and prefixing clojure dependencies. It uses clojure.tools.namespace and boot utilities to unpack the jar file of a dependency marked with [:scope "source"] and add a configured prefix to all namespaces.

There's still tons of room for improvement, but I think this might be a minimal step in the direction of automating that process. Any feedback or suggestions on direction or help are welcome.

benedekfazekas commented 5 years ago

what are the blockers to use mranderson directly for this in boot?

burn2delete commented 5 years ago

Closing as the direction for how to handle dependencies internally has changed.

There is a task for solving this problem for boot projects. https://github.com/boot-clj/boot/issues/671#issuecomment-419130667