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]"
@grzm That's a bug in Boot, introduced recently.
If you back off to Boot 2.7.2 it will work as intended.
(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)
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.
fah
Thanks, @seancorfield
You rock!
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. 🙂
This is the kind of thing that drives me batty:
λ boot --version
-bash: boot: command not found
λ brew install boot-clj
==> Downloading <https://github.com/boot-clj/boot-bin/releases/download/2.7.2/boot.sh>
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 grzm@mugi: ~/some/path
λ boot --version
#<http://boot-clj.com>
#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
It says it's installing 2.7.2. Yet it reports it's 2.8.1
you installed 2.7.2, but you have a newer version on your path
type -p boot
Nope. I forgot to include that test in the snippet (bad copy and paste, now updated)
ohh, yeah “-bash: boot: command not found” - Sorry, missed that
No, you didn't miss it 🙂 You commented while I was editing to add it back
λ type -p boot
/Users/grzm/homebrew/bin/boot
that’s odd
OK, so I’ve read the earlier context.. I think you can create a boot.properties file and replace the version-number there
~/.boot/boot.properties
and your project's boot.properties
can both affect the version.
I'm not in a project directory and I removed ~/.boot/boot.properties
If you put that back and set the version to 2.7.2 did that work?
Well, it's now reporting 2.7.2. Currently waiting for it to download a bunch of jars
Okay. So, what should the arguments to deps -A
look like?
Oh, I see.
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>
I do love Clojure when it works, but crikey the tooling can be so frustrating. Thanks for reading 😉
That's one of the reasons I really like your stuff, @seancorfield: it's always been solid and a joy to work with.