A Leiningen plugin to relocate classes/packages using the Maven Shade Plugin.
lein-uber-shade
can be useful if you submit your jar which will run in an environment which contains incompatible provided dependencies with your project.
This will relocate classes packages matchings the relocations specified and update the paths in the uberjar to point to these new packages. Use with care.
This is inspired by https://github.com/redbadger/shade which allows you to relocate clojure namespaces
Use this for project-level plugins:
Put [lein-uber-shade "0.1.2"]
into the :plugins
vector of your project.clj.
To build the uberjar with shaded classes/packages/dependencies:
$ lein shade-uberjar
Configuration of the plugin:
Add :uber-shade
to your project to configure relocations. Example:
:uber-shade {:relocations [{:from io.netty :to io.shaded.netty}]}
In this example we relocate all classes starting by io.netty to io.shaded.netty
Copyright © 2018 obohrer
Distributed under the Eclipse Public License either version 2.0 or (at your option) any later version.