lein-repack
Repack your project for deployment and distribution
<https://github.com/zcaudate/lein-repack#motivation>Motivation
lein-repack was written to solve a problem I had with utilities and general
purpose libraries. In my experience, clojure libraries are much better when
they are distributed in small packages. However, functionality is much
easier to develop when the project is big: when we try to build our general
purpose libaries in small packages, they become a nightmare to test and
deploy.
lein-repack redistributes your code base into managable, deployable chunks
and analyses your source files to automatically resolve internal and
external dependencies. It this way, a big clojure project can now be broken
up into sub-packages for deployment and redistribution.
The plugin will:
- Create sub-projects for all sub-namespaces in a project
- Will look through source files and figure out project dependencies
- Will repackage a project into many smaller artifacts for easier
deployment and distribution
--------------------------
Walkthrough
For example, if there were a project called lama at version 0.1.0 and the
files were organised like this:
- src
- lama
- weapons
- gun.clj
- food
- prepare.clj
- food.clj
- core.clj
Running lein repack install will split the project into four jars and
install them in maven.
lama-0.1.0.jar
lama-core-0.1.0.jar
lama-food-0.1.0.jar
lama-weapons-0.1.0.jar
Running lein repack deploy will deploy all four artifacts to clojars.
Once the artifacts are installed/deployed, they are now ready to be used.
For example, if only the functionality for lama.weapons were required for
another project, it can be imported individually in the project by adding
[lama.weapons
"0.1.0"] to project dependencies. The entire project can be imported my
adding [lama "0.1.0"] to project dependencies.
---------
More on the github page - https://github.com/zcaudate/lein-repack
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.