Skip to content

boot show -u prints :exclusions as a vector of vectors #635

Open
@Jannis

Description

@Jannis

Description

When running boot show -u, it prints dependencies with exclusions like this:

[com.cemerick/piggieback "0.2.2" :scope "test" :exclusions [[com.google.guava/guava]]]
[com.datomic/datomic-free "0.9.5561.50" :scope "test" :exclusions [[com.google.guava/guava]]]

In this output, the :exclusions are incorrectly printed as a vector of vectors, where it should really be a vector of symbols.

If the above is copied into build.boot, it results in errors like this one (when running boot pom):

...
                                           clojure.core/seq                          core.clj:  137
                                                        ...
                        boot.pom/pom-xml/iter/fn/fn/iter/fn                           pom.clj:  103
                     boot.pom/pom-xml/iter/fn/fn/iter/fn/fn                           pom.clj:  103
                                      boot.util/extract-ids                          util.clj:  331
                                       clojure.core/juxt/fn                          core.clj: 2574
                                     clojure.core/namespace                          core.clj: 1594
java.lang.ClassCastException: clojure.lang.PersistentVector cannot be cast to clojure.lang.Named
  clojure.lang.ExceptionInfo: clojure.lang.PersistentVector cannot be cast to clojure.lang.Named
    file: "/var/folders/lv/1_kzb2t55gsbc2r0bcvm418r0000gn/T/boot.user4408150776635283384.clj"
    line: 45

Expected behavior

The expected behavior would be to print dependencies with exclusions such that the exclusions are a vector of symbols:

[com.cemerick/piggieback "0.2.2" :scope "test" :exclusions [com.google.guava/guava]]
[com.datomic/datomic-free "0.9.5561.50" :scope "test" :exclusions [com.google.guava/guava]]

Steps to reproduce

  1. Add an outdated dependency with an exclusion to the dependencies in build.boot.
  2. Run boot show -u.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions