Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version check fails when clojure is a managed dependency #171

Closed
pcarlisle opened this issue Oct 10, 2016 · 0 comments
Closed

version check fails when clojure is a managed dependency #171

pcarlisle opened this issue Oct 10, 2016 · 0 comments

Comments

@pcarlisle
Copy link

As of Leiningen 2.7.0 it is possible to leave out version numbers under the :dependencies key of a project map, and list them under the :managed-dependencies key instead [Managed Dependencies].

If the dependency on clojure is listed this way, the repl fails to start with a stack trace.

With this project.clj:

(defproject test "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure]]
  :managed-dependencies [[org.clojure/clojure "1.8.0"]]
  :plugins [[cider/cider-nrepl "0.14.0-SNAPSHOT"]
            [refactor-nrepl "2.3.0-SNAPSHOT"]])
test:% lein repl
java.lang.NullPointerException: null
 at java.util.regex.Matcher.getTextLength (Matcher.java:1283)
    java.util.regex.Matcher.reset (Matcher.java:309)
    java.util.regex.Matcher.<init> (Matcher.java:229)
    java.util.regex.Pattern.matcher (Pattern.java:1093)
    java.util.regex.Pattern.split (Pattern.java:1206)
    clojure.string$split.invokeStatic (string.clj:226)
    clojure.string$split.invoke (string.clj:219)
    leiningen.core.main$version_satisfies_QMARK_.invokeStatic (main.clj:340)
    leiningen.core.main$version_satisfies_QMARK_.invoke (main.clj:339)
    refactor_nrepl.plugin$version_ok_QMARK_$fn__12615.invoke (plugin.clj:15)
    clojure.core$some.invokeStatic (core.clj:2592)
    clojure.core$some.invoke (core.clj:2583)
    refactor_nrepl.plugin$version_ok_QMARK_.invokeStatic (plugin.clj:13)
    refactor_nrepl.plugin$version_ok_QMARK_.invoke (plugin.clj:10)
    refactor_nrepl.plugin$external_dependencies_ok_QMARK_$fn__12622.invoke (plugin.clj:23)
    clojure.core.protocols$iter_reduce.invokeStatic (protocols.clj:49)
    clojure.core.protocols$fn__6742.invokeStatic (protocols.clj:75)
    clojure.core.protocols/fn (protocols.clj:75)
    clojure.core.protocols$fn__6684$G__6679__6697.invoke (protocols.clj:13)
    clojure.core$reduce.invokeStatic (core.clj:6545)
    clojure.core$reduce.invoke (core.clj:6527)
    refactor_nrepl.plugin$external_dependencies_ok_QMARK_.invokeStatic (plugin.clj:21)
    refactor_nrepl.plugin$external_dependencies_ok_QMARK_.invoke (plugin.clj:19)
    refactor_nrepl.plugin$middleware.invokeStatic (plugin.clj:29)
    refactor_nrepl.plugin$middleware.invoke (plugin.clj:27)
    clojure.lang.Var.invoke (Var.java:379)
    leiningen.core.project$apply_middleware.invokeStatic (project.clj:750)
    leiningen.core.project$apply_middleware.invoke (project.clj:743)
    clojure.core.protocols$naive_seq_reduce.invokeStatic (protocols.clj:62)
    clojure.core.protocols$interface_or_naive_reduce.invokeStatic (protocols.clj:72)
    clojure.core.protocols$fn__6755.invokeStatic (protocols.clj:168)
    clojure.core.protocols/fn (protocols.clj:124)
    clojure.core.protocols$fn__6710$G__6705__6719.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invokeStatic (protocols.clj:31)
    clojure.core.protocols$fn__6738.invokeStatic (protocols.clj:75)
    clojure.core.protocols/fn (protocols.clj:75)
    clojure.core.protocols$fn__6684$G__6679__6697.invoke (protocols.clj:13)
    clojure.core$reduce.invokeStatic (core.clj:6545)
    clojure.core$reduce.invoke (core.clj:6527)
    leiningen.core.project$apply_middleware.invokeStatic (project.clj:745)
    leiningen.core.project$apply_middleware.invoke (project.clj:743)
    leiningen.core.project$activate_middleware.invokeStatic (project.clj:777)
    leiningen.core.project$activate_middleware.invoke (project.clj:773)
    leiningen.core.project$init_project.invokeStatic (project.clj:902)
    leiningen.core.project$init_project.invoke (project.clj:892)
    leiningen.core.project$read.invokeStatic (project.clj:973)
    leiningen.core.project$read.invoke (project.clj:970)
    leiningen.core.project$read.invokeStatic (project.clj:974)
    leiningen.core.project$read.invoke (project.clj:970)
    leiningen.core.main$_main$fn__5998.invoke (main.clj:397)
    leiningen.core.main$_main.invokeStatic (main.clj:394)
    leiningen.core.main$_main.doInvoke (main.clj:391)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.lang.Var.invoke (Var.java:379)
    clojure.lang.AFn.applyToHelper (AFn.java:154)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invokeStatic (core.clj:646)
    clojure.main$main_opt.invokeStatic (main.clj:314)
    clojure.main$main_opt.invoke (main.clj:310)
    clojure.main$main.invokeStatic (main.clj:421)
    clojure.main$main.doInvoke (main.clj:384)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    clojure.lang.Var.invoke (Var.java:388)
    clojure.lang.AFn.applyToHelper (AFn.java:160)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.main.main (main.java:37)

This starts normally if refactor-nrepl is removed. This doesn't fail in cider-nrepl because it has a special case for the clojure dependency being present with a nil version.

Environment & Version information

clj-refactor.el and refactor-nrepl version information

"clj-refactor 2.3.0-SNAPSHOT (package: 20161005.344), refactor-nrepl 2.3.0-SNAPSHOT"

CIDER version information

;; CIDER 0.14.0snapshot (package: 20161006.431), nREPL 0.2.12
;; Clojure 1.7.0, Java 1.8.0_92

Leiningen or Boot version

lein 2.7.1

Emacs version

25.1.1

Operating system

arch linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants