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

Set some guidelines regarding build-time dependencies #1934

Closed
robinheghan opened this issue Jul 14, 2015 · 3 comments
Closed

Set some guidelines regarding build-time dependencies #1934

robinheghan opened this issue Jul 14, 2015 · 3 comments
Labels

Comments

@robinheghan
Copy link

I've been frustrated lately. I've found it important to reduce the size of my uberjar to a minimum (this has to do with using the free plan on Heroku, where lower slug-sizes makes your app start up faster), but when I look at what is actually included in the uberjar, I find dependencies that (i think) are only used at compile-time. Dependencies like Clojurescript.

In fact, It's impossible to use any cross-platform dependency without ClojureScript and Google Closure finding their way into your uberjar, which is often completely unnecessary as my frontend code is compiled before being inserted into the uberjar.

Could we set some guidelines regarding use of build-time dependencies (like cljs)? Add some information to the README or make minor changes which makes this easy to manage? I don't know exactly this should be like, but would at least like to start the discussion. I think small uberjars is a good goal in general, not only for my use-case.

@hypirion hypirion added the docs label Jul 25, 2015
@technomancy
Copy link
Owner

I think we cover adding :dev dependencies in the docs already. I don't want to add cljs-specific documentation to Leiningen itself, since I think that should be handled in the documentation for the plugins. But if you have other specific suggestions of what should be added, please let us know.

@glts
Copy link
Collaborator

glts commented May 29, 2019

The tutorial has this under Uberjar:

(defproject my-stuff "0.1.0-SNAPSHOT"
  ,,,
  :profiles {:dev {:dependencies [[ring/ring-devel "1.4.0"]]}}
  ,,,

We have also added a development dependency, ring-devel. ring-devel will not be available in uberjars, and will not be considered a dependency if you publish this project to a repository.

Does this cover it?

@robinheghan
Copy link
Author

robinheghan commented May 29, 2019

Yes, thank you

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

No branches or pull requests

4 participants