Fork me on GitHub
#boot
<
2018-08-31
>
grzm04:08:45

On the command line, how do you pass an argument value that's a vector (e.g., [kw]) to a boot task? In particular boot-tools-deps -A argument takes [kw]. I've tried each of the following, and each gives me the same exception: clojure.lang.ExceptionInfo: option :aliases must be of type [kw] - boot deps -A:a - boot deps -A :a - boot deps -A[:a] - boot deps -A [:a] - boot deps -A "[:a]"

seancorfield04:08:17

@grzm That's a bug in Boot, introduced recently.

seancorfield04:08:33

If you back off to Boot 2.7.2 it will work as intended.

seancorfield04:08:16

(and the answer is you can specify the option multiple times boot deps -A :a -A :b and it puts them together into a vector for the task)

seancorfield04:08:46

It was introduced in Boot 2.8.0 or 2.8.1. Completely broke our build system at work so we went back to 2.7.2.

grzm04:08:25

Thanks, @seancorfield

grzm04:08:31

You rock!

seancorfield04:08:42

I hope it's fixed soon. That and a new release of the binary so JVM options can be picked up from the properties file. 🙂

grzm04:08:12

This is the kind of thing that drives me batty:

λ boot --version
-bash: boot: command not found
λ brew install boot-clj
==> Downloading 
Already downloaded: /Users/grzm/Library/Caches/Homebrew/boot-clj--2.7.2.sh
🍺  /Users/grzm/homebrew/Cellar/boot-clj/2.7.2: 3 files, 8KB, built in 2 seconds
22:57 [email protected]: ~/some/path
λ boot --version
#
#Thu Aug 30 22:57:32 MDT 2018
BOOT_VERSION=2.8.1
BOOT_CLOJURE_VERSION=1.8.0
BOOT_CLOJURE_NAME=org.clojure/clojure

grzm04:08:34

It says it's installing 2.7.2. Yet it reports it's 2.8.1

hkjels05:08:44

you installed 2.7.2, but you have a newer version on your path

hkjels05:08:53

type -p boot

grzm05:08:07

Nope. I forgot to include that test in the snippet (bad copy and paste, now updated)

hkjels05:08:54

ohh, yeah “-bash: boot: command not found” - Sorry, missed that

grzm05:08:17

No, you didn't miss it 🙂 You commented while I was editing to add it back

grzm05:08:26

λ type -p boot
/Users/grzm/homebrew/bin/boot

hkjels05:08:58

that’s odd

hkjels05:08:15

OK, so I’ve read the earlier context.. I think you can create a boot.properties file and replace the version-number there

seancorfield05:08:49

~/.boot/boot.properties and your project's boot.properties can both affect the version.

grzm05:08:24

I'm not in a project directory and I removed ~/.boot/boot.properties

seancorfield05:08:14

If you put that back and set the version to 2.7.2 did that work?

grzm05:08:56

Well, it's now reporting 2.7.2. Currently waiting for it to download a bunch of jars

grzm05:08:53

Okay. So, what should the arguments to deps -A look like?

grzm05:08:15

Oh, I see.

grzm05:08:33

but seriously, what is going on there? I understand it's late and I'm tired, but if I'm downloading 2.7.2, why is it writing a 2.8.1 boot.properties file (which it did when I ran boot --version)? I understand that Clojure is supposed to be for adults, but that just seems sloppy. (same with breaking the behavior of args) </rant>

grzm05:08:41

I do love Clojure when it works, but crikey the tooling can be so frustrating. Thanks for reading 😉

grzm05:08:57

That's one of the reasons I really like your stuff, @seancorfield: it's always been solid and a joy to work with.