Fork me on GitHub
#boot
<
2018-01-30
>
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?

seancorfield15:01:29

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

seancorfield15:01:52

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.

moxaj15:01:53

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

seancorfield15:01:42

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

moxaj15:01:06

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

seancorfield15:01:08

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

seancorfield15:01:25

Have you used :scope?

moxaj15:01:01

can I specify scopes in deps.edn?

seancorfield16:01:59

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

seancorfield16:01:33

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

seancorfield16:01:10

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

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?

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

seancorfield15:01:58

Specify BOOT_CLOJURE_VERSION (environment variable).

seancorfield15:01:29

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

seancorfield15:01:52

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.

seancorfield15:01:55

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.

seancorfield15:01:33

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