Fork me on GitHub
Petrus Theron08:01:05

@seancorfield using boot-deps-tools, how do I get boot to resolve my alias dependencies without duplicating them in my boot :dependencies?

Petrus Theron08:01:47

Realised I could slurp deps.edn and (get-in [:aliases :test :extra-deps]) to set my boot deps, but maybe there is a built-in thing for this in deps?


If you're using boot-tools-deps you should not have :dependencies in your build.boot file. deps.edn replaces that.


Then you just tell deps which aliases you want to use. Basically you should have your project setup so you can use the clj command line tool via deps.edn.


@seancorfield not even build dependencies (beside boot-tools-deps)?


I would try hard to put those in deps.edn and use aliases.


play around with boot-tools-deps a little, but couldn't figure out how to prevent my build dependencies from ending up in the pom.xml


(and I use boot-tools-deps from the command-line -- I don't put in build.boot)


Have you used :scope?


can I specify scopes in deps.edn?


Dependencies can have scopes, wherever they are specified: [org.clojure/clojure "RELEASE" :scope "provided"] or [adzerk/boot-test "RELEASE" :scope "test"]


(you can use a specific version, "RELEASE" or "LATEST" -- the latter fetches SNAPSHOT builds)


All that said, watch out for this issue when using scope: -- as Alex says in that thread (and has said in #tools-deps ) you really should separate your dependencies via aliases where possible.

Petrus Theron09:01:02

How do I get boot to compile git checkouts against older versions of Clojure, e.g. 1.7.0?

Petrus Theron09:01:18

I'm guessing it's not possible because of the "classpath conflict warning" since Boot already runs in a given Clojure version


Specify BOOT_CLOJURE_VERSION (environment variable).


It appears I need to do a better job at communicating how boot-tools-deps is intended to be used 😄 I'll have a think about that and try expand the readme today.


The TL;DR is that it expects you to have a project setup with deps.edn where you can already start a REPL or run code via clj. It expects you to use aliases to keep your build / dev / test dependencies separate.

aj taylor16:01:03

Any recommendations on a boot task/lib that manages environment variables? Or can someone point me in the right direction? Basically the same use case that environ solves.

aj taylor16:01:24

nvm it looks like environ supports boot ha