boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 180 forks source link

`boot show --verify-deps` throws an IllegalArgumentException #584

Open miikka opened 7 years ago

miikka commented 7 years ago

I tried to run the command against a couple of projects, for example metosin/metosin-common, and for all of them the result is the same:

% boot show --verify-deps
                                       java.lang.Thread.run                  Thread.java:  745
         java.util.concurrent.ThreadPoolExecutor$Worker.run      ThreadPoolExecutor.java:  617
          java.util.concurrent.ThreadPoolExecutor.runWorker      ThreadPoolExecutor.java: 1142
                        java.util.concurrent.FutureTask.run              FutureTask.java:  266
                                                        ...                                   
                        clojure.core/binding-conveyor-fn/fn                     core.clj: 1938
                                          boot.core/boot/fn                     core.clj: 1029
                                        boot.core/run-tasks                     core.clj: 1019
                             boot.task.built-in/fn/fn/fn/fn                 built_in.clj:  280
                                          boot.pod/call-in*                      pod.clj:  413
                                                        ...                                   
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke  ClojureRuntimeShimImpl.java:  109
                                                        ...                                   
                                          boot.pod/call-in*                      pod.clj:  410
                                      boot.pod/eval-fn-call                      pod.clj:  359
                                         clojure.core/apply                     core.clj:  646
                                                        ...                                   
                                       boot.aether/dep-tree                   aether.clj:  282
                                                        ...                                   
                                       boot.util/print-tree                     util.clj:  302
                                                        ...                                   
                                       boot.util/print-tree                     util.clj:  295
                                           clojure.core/seq                     core.clj:  137
                                                        ...                                   
                                        clojure.core/map/fn                     core.clj: 2646
                                    boot.aether/map-tree/fn                   aether.clj:  253
                                    clojure.core/partial/fn                     core.clj: 2515
                                     boot.aether/verify-dep                   aether.clj:  246
                                                        ...                                   
                                     clojure.core/vary-meta                     core.clj:  656 (repeats 2 times)
                                         clojure.core/apply                     core.clj:  648
                                                        ...                                   
                                  boot.aether/verify-dep/fn                   aether.clj:  248
                                boot.aether/check-signature                   aether.clj:  217
                                      boot.aether/fetch-key                   aether.clj:  206
                                                        ...                                   
                                               boot.gpg/gpg                      gpg.clj:   27
                                         clojure.core/apply                     core.clj:  648
                                                        ...                                   
                                      clojure.java.shell/sh                    shell.clj:   79 (repeats 2 times)
                              clojure.java.shell/parse-args                    shell.clj:   47
                                         clojure.core/apply                     core.clj:  646
                                                        ...                                   
                                      clojure.core/hash-map                     core.clj:  379
                                      clojure.core/hash-map                     core.clj:  387
                                                        ...                                   
java.lang.IllegalArgumentException: No value supplied for key: null
        clojure.lang.ExceptionInfo: No value supplied for key: null
    file: "/var/folders/7n/b8n70tks56d9m1xg01wc29vh0000gn/T/boot.user670799934379111143.clj"
    line: 35

Version:

% boot -V
#http://boot-clj.com
#Thu Feb 09 11:37:37 EET 2017
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.7.1
slava92 commented 5 years ago

It seems the output of gpg program slightly changed recently. Regex doesn't match its output anymore. The fix is just one line in boot/aether/src/boot/aether.clj