neil icon indicating copy to clipboard operation
neil copied to clipboard

WIP: `neil dep upgrade`: don't change Git URLs

Open teodorlu opened this issue 1 year ago • 2 comments

Status

WIP, nothing important to see yet, I think.

Questions

Please answer the following questions and leave the below in as part of your PR.

  • [x] This PR corresponds to an issue with a clear problem statement.

    • #235
  • [x] I have updated the CHANGELOG.md file with a description of the addressed issue.

  • [x] I have considered whether I should add more tests covering the code I've changed.

teodorlu avatar Aug 02 '24 17:08 teodorlu

As of b32fda1, I'm getting a test failure.

  • There appears to be a crash within borkdude.rewrite-edn/get-in.
  • The crash happens on the JVM (bb test:clj)
  • The crash does not happen on babashka (bb test:bb).
Full stacktrace
ERROR in (neil-dep-upgrade-does-not-change-git-urls) (Numbers.java:265)
Uncaught exception, not in assertion.
expected: nil
  actual: java.lang.ClassCastException: class clojure.lang.Symbol cannot be cast to class java.lang.Number (clojure.lang.Symbol is in unnamed module of loader 'app'; java.lang.Number is in module java.base of loader 'bootstrap')
 at clojure.lang.Numbers.gte (Numbers.java:265)
    clojure.lang.Numbers.gte (Numbers.java:3991)
    borkdude.rewrite_edn.impl$get.invokeStatic (impl.cljc:154)
    borkdude.rewrite_edn.impl$get.invoke (impl.cljc:119)
    borkdude.rewrite_edn.impl$get_in$fn__6417.invoke (impl.cljc:162)
    clojure.lang.PersistentVector.reduce (PersistentVector.java:343)
    clojure.core$reduce.invokeStatic (core.clj:6886)
    clojure.core$reduce.invoke (core.clj:6869)
    borkdude.rewrite_edn.impl$get_in.invokeStatic (impl.cljc:159)
    borkdude.rewrite_edn.impl$get_in.invoke (impl.cljc:158)
    borkdude.rewrite_edn$get_in.invokeStatic (rewrite_edn.cljc:36)
    borkdude.rewrite_edn$get_in.invoke (rewrite_edn.cljc:30)
    borkdude.rewrite_edn$get_in.invokeStatic (rewrite_edn.cljc:34)
    borkdude.rewrite_edn$get_in.invoke (rewrite_edn.cljc:30)
    babashka.neil$dep_add.invokeStatic (neil.clj:436)
    babashka.neil$dep_add.invoke (neil.clj:380)
    babashka.neil$do_dep_upgrade.invokeStatic (neil.clj:723)
    babashka.neil$do_dep_upgrade.invoke (neil.clj:701)
    babashka.neil$dep_upgrade.invokeStatic (neil.clj:783)
    babashka.neil$dep_upgrade.invoke (neil.clj:731)
    babashka.cli$dispatch_tree.invokeStatic (cli.cljc:670)
    babashka.cli$dispatch_tree.invoke (cli.cljc:652)
    babashka.cli$dispatch.invokeStatic (cli.cljc:704)
    babashka.cli$dispatch.invoke (cli.cljc:672)
    babashka.neil$_main.invokeStatic (neil.clj:885)
    babashka.neil$_main.doInvoke (neil.clj:884)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:667)
    clojure.core$apply.invoke (core.clj:662)
    babashka.neil.test_util$neil$fn__7068.invoke (test_util.clj:33)
    babashka.neil.test_util$neil.invokeStatic (test_util.clj:33)
    babashka.neil.test_util$neil.doInvoke (test_util.clj:24)
    clojure.lang.RestFn.invoke (RestFn.java:439)
    babashka.neil.dep_upgrade_test$fn__7596.invokeStatic (dep_upgrade_test.clj:287)
    babashka.neil.dep_upgrade_test/fn (dep_upgrade_test.clj:281)
    clojure.test$test_var$fn__9856.invoke (test.clj:717)
    clojure.test$test_var.invokeStatic (test.clj:717)
    clojure.test$test_var.invoke (test.clj:708)
    clojure.test$test_vars$fn__9882$fn__9887.invoke (test.clj:735)
    clojure.test$default_fixture.invokeStatic (test.clj:687)
    clojure.test$default_fixture.invoke (test.clj:683)
    clojure.test$test_vars$fn__9882.invoke (test.clj:735)
    clojure.test$default_fixture.invokeStatic (test.clj:687)
    clojure.test$default_fixture.invoke (test.clj:683)
    clojure.test$test_vars.invokeStatic (test.clj:731)
    clojure.test$test_all_vars.invokeStatic (test.clj:737)
    clojure.test$test_ns.invokeStatic (test.clj:758)
    clojure.test$test_ns.invoke (test.clj:743)
    clojure.core$map$fn__5935.invoke (core.clj:2772)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:51)
    clojure.lang.Cons.next (Cons.java:39)
    clojure.lang.RT.next (RT.java:713)
    clojure.core$next__5451.invokeStatic (core.clj:64)
    clojure.core$reduce1.invokeStatic (core.clj:946)
    clojure.core$reduce1.invokeStatic (core.clj:936)
    clojure.core$merge_with.invokeStatic (core.clj:3077)
    clojure.core$merge_with.doInvoke (core.clj:3069)
    clojure.lang.RestFn.applyTo (RestFn.java:139)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.test$run_tests.invokeStatic (test.clj:768)
    clojure.test$run_tests.doInvoke (test.clj:768)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:667)
    clojure.core$apply.invoke (core.clj:662)
    cognitect.test_runner$test.invokeStatic (test_runner.clj:74)
    cognitect.test_runner$test.invoke (test_runner.clj:62)
    cognitect.test_runner$_main.invokeStatic (test_runner.clj:127)
    cognitect.test_runner$_main.doInvoke (test_runner.clj:115)
    clojure.lang.RestFn.invoke (RestFn.java:397)
    clojure.lang.AFn.applyToHelper (AFn.java:152)
    clojure.lang.RestFn.applyTo (RestFn.java:132)
    clojure.lang.Var.applyTo (Var.java:705)
    clojure.core$apply.invokeStatic (core.clj:667)
    clojure.main$main_opt.invokeStatic (main.clj:514)
    clojure.main$main_opt.invoke (main.clj:510)
    clojure.main$main.invokeStatic (main.clj:664)
    clojure.main$main.doInvoke (main.clj:616)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.lang.Var.applyTo (Var.java:705)
    clojure.main.main (main.java:40)

teodorlu avatar Aug 04 '24 17:08 teodorlu

If you can narrow down the error to something reproduceable that'd be helpful. Interesting why it doesn't happen with bb, but it might be a bug in rewrite-edn or so, in that case, please file an issue there.

borkdude avatar Aug 04 '24 20:08 borkdude