boot-clj / boot

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

Can't add clojure source jar to classpath #654

Closed pdbrown closed 6 years ago

pdbrown commented 6 years ago

Hi! I just started using boot, and am really liking it -- especially the order it brings to my byzantine frontend builds. The ability to boot a repl from which I can hack around in both boot and the rest of my project is pretty cool too. I noticed this little issue as I was migrating from a lein project, and will send a PR.

Boot Bug Report

Platform details

Platform: Linux Platform version: Debian 4.9.30-2+deb9u2 JRE/JDK version: openjdk 1.8.0_131

Boot details

Boot version: 2.7.2 build.boot present?: yes ~/.boot/profile present?: no

build.boot content

(set-env! :dependencies
          #(conj % '[org.clojure/clojure "1.9.0-beta2" :classifier "sources"]))

boot.properties content

BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.9.0-beta2
BOOT_VERSION=2.7.2

Description

One can't currently add clojure java sources to the classpath, and therefore can't jump to clojure java definitions in CIDER. When adding a dependency on, say, [org.clojure/clojure "1.9.0-beta2" :classifier "sources"], the corresponding jar isn't added to the classpath because it's filtered out by boot.pod/resolve-dependency-jars. Other source jars, which aren't caught by that filter, can be added without issue.

Steps to reproduce

  1. Open (the above) build.boot in CIDER
  2. Run cider-jack-in
  3. Notice the following does not contain the source jar:
    (->> (clojure.string/split (:boot-class-path (get-env)) #":")
     (filter #(clojure.string/includes? % "org/clojure/clojure")))
martinklepsch commented 6 years ago

Closed via #655