Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make recursive build-deps programmatic and independent from the shell #35

Open
jaccarmac opened this issue May 20, 2014 · 1 comment
Open

Comments

@jaccarmac
Copy link

I found out the hard way that build-deps can be tricky to use on a tiny embedded system. In my case, I was trying to build a project which uses voom dependencies on a Raspberry Pi. I simply dumped the lein script in my home directory and tried to build using ~/lein voom build-deps. This failed during the recursive build-deps step because, apparently, it calls lein voom build-deps instead of using an API.

The solution is trivial on something like a Pi: dump the script into a place where your shell can find it, and you're golden. However, on systems where this is harder to do (Docker containers, which don't have "real" shells, come to mind) it could be a problem. Arguably, we shouldn't be using something like the JVM in something so small, but it would be nice for the plugin not to depend on its environment (that is, once lein launches, it becomes its own environment).

@jaccarmac
Copy link
Author

One more thing I forgot to point out. On a Pi, the main barrier to Clojure performance is the start-up time of the JVM. Once lein starts running, it's actually relatively fast, but making it call itself multiplies the time spent waiting for Java to spin up by the number of things you have to build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant