Coder Social home page Coder Social logo

lein-clj-kondo's Issues

java.io.FileNotFoundException: Could not locate clj_kondo/main__init.class

if I use :plugins [[clj-kondo/lein-clj-kondo "0.1.1"]] as instructed in the README, it says it can't find the plugin.. adding com.github in front seems to locate the plugin (so I guess the README has it wrong?), but then I'm instead presented with the stacktrace below:

lein clj-kondo
clojure.lang.Compiler$CompilerException: Syntax error compiling at (leiningen/clj_kondo.clj:1:1).
#:clojure.error{:phase :compile-syntax-check, :line 1, :column 1, :source "leiningen/clj_kondo.clj"}
 at clojure.lang.Compiler.load (Compiler.java:7652)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6856.invoke (core.clj:6115)
    clojure.core$load.invokeStatic (core.clj:6114)
    clojure.core$load.doInvoke (core.clj:6098)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5897)
    clojure.core$load_one.invoke (core.clj:5892)
    clojure.core$load_lib$fn__6796.invoke (core.clj:5937)
    clojure.core$load_lib.invokeStatic (core.clj:5936)
    clojure.core$load_lib.doInvoke (core.clj:5917)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:5974)
    clojure.core$load_libs.doInvoke (core.clj:5958)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:5996)
    clojure.core$require.doInvoke (core.clj:5996)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:102)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:105)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
    leiningen.core.main$lookup_task_var.invoke (main.clj:65)
    leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
    leiningen.core.main$task_args.invokeStatic (main.clj:82)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
    leiningen.core.main$_main$fn__7429.invoke (main.clj:453)
    leiningen.core.main$_main.invokeStatic (main.clj:442)
    leiningen.core.main$_main.doInvoke (main.clj:439)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    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)
Caused by: java.io.FileNotFoundException: Could not locate clj_kondo/main__init.class, clj_kondo/main.clj or clj_kondo/main.cljc on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.
 at clojure.lang.RT.load (RT.java:462)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6856.invoke (core.clj:6115)
    clojure.core$load.invokeStatic (core.clj:6114)
    clojure.core$load.doInvoke (core.clj:6098)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5897)
    clojure.core$load_one.invoke (core.clj:5892)
    clojure.core$load_lib$fn__6796.invoke (core.clj:5937)
    clojure.core$load_lib.invokeStatic (core.clj:5936)
    clojure.core$load_lib.doInvoke (core.clj:5917)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:5974)
    clojure.core$load_libs.doInvoke (core.clj:5958)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:5996)
    clojure.core$require.doInvoke (core.clj:5996)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    leiningen.clj_kondo$eval663$loading__6737__auto____664.invoke (clj_kondo.clj:1)
    leiningen.clj_kondo$eval663.invokeStatic (clj_kondo.clj:1)
    leiningen.clj_kondo$eval663.invoke (clj_kondo.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7181)
    clojure.lang.Compiler.eval (Compiler.java:7170)
    clojure.lang.Compiler.load (Compiler.java:7640)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6856.invoke (core.clj:6115)
    clojure.core$load.invokeStatic (core.clj:6114)
    clojure.core$load.doInvoke (core.clj:6098)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5897)
    clojure.core$load_one.invoke (core.clj:5892)
    clojure.core$load_lib$fn__6796.invoke (core.clj:5937)
    clojure.core$load_lib.invokeStatic (core.clj:5936)
    clojure.core$load_lib.doInvoke (core.clj:5917)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:5974)
    clojure.core$load_libs.doInvoke (core.clj:5958)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:5996)
    clojure.core$require.doInvoke (core.clj:5996)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:102)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:105)
    leiningen.core.utils$require_resolve.invoke (utils.clj:95)
    leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
    leiningen.core.main$lookup_task_var.invoke (main.clj:65)
    leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
    leiningen.core.main$task_args.invokeStatic (main.clj:82)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
    leiningen.core.main$_main$fn__7429.invoke (main.clj:453)
    leiningen.core.main$_main.invokeStatic (main.clj:442)
    leiningen.core.main$_main.doInvoke (main.clj:439)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    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)

Running clj-kondo with the plugin configured in ~/.lein/profiles.clj works as expected.

I don't do a whole lot of Clojure development, so excuse me if I'm missing something obvious ๐Ÿ˜…

Matching version of clj-kondo

Do you think it would make sense to match the version of clj-kondo so that users can easily determine the version of clj-kondo in use? At the moment, the only way to find out is by viewing information on Clojars or the project.clj file.

The downside I see is that changes to the plugin itself are no longer encoded with semver. I want to hear feedback on this.

Unable to run 0.1.4 when lein-kibit is in the :plugins map

I've not been able to find any workaround for this other than to temporarily remove lein-kibit from the plugins map. Needless to say, that's not ideal :)

Steps to reproduce: in any lein project, add lein-kibit and lein-clj-kondo 0.1.4 to the :plugins map, and run the clj-kondo plugin.

com.github.clj-kondo/lein-clj-kondo "0.1.3"

โฏ lein clj-kondo --lint src
linting took 345ms, errors: 0, warnings: 0

com.github.clj-kondo/lein-clj-kondo "0.1.4"

โฏ lein clj-kondo --lint src
clojure.lang.Compiler$CompilerException: Syntax error compiling var at (edamame/impl/parser.cljc:100:1).
#:clojure.error{:phase :compile-syntax-check, :line 100, :column 1, :source "edamame/impl/parser.cljc", :symbol var}
 at clojure.lang.Compiler.analyzeSeq (Compiler.java:7119)
    clojure.lang.Compiler.analyze (Compiler.java:6793)
    ... long trace omitted ...
Caused by: java.lang.RuntimeException: Unable to resolve var: edn/read-symbolic-value in this context
 at clojure.lang.Util.runtimeException (Util.java:221)
    clojure.lang.Compiler$TheVarExpr$Parser.parse (Compiler.java:720)
    ... long trace omitted ...

Syntax error compiling var trying to run

Hey! I was trying to run lein clj-kondo after adding [com.github.clj-kondo/lein-clj-kondo "0.2.5"] to :plugins, but got the following error:

clojure.lang.Compiler$CompilerException: Syntax error compiling var at (edamame/impl/parser.cljc:102:1).
#:clojure.error{:phase :compile-syntax-check, :line 102, :column 1, :source "edamame/impl/parser.cljc", :symbol var}
 at clojure.lang.Compiler.analyzeSeq (Compiler.java:7132)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.analyze (Compiler.java:6762)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3900)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7126)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.access$300 (Compiler.java:38)
    clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7124)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.analyze (Compiler.java:6762)
    clojure.lang.Compiler.eval (Compiler.java:7198)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    edamame.core$eval5458$loading__6789__auto____5459.invoke (core.cljc:1)
    edamame.core$eval5458.invokeStatic (core.cljc:1)
    edamame.core$eval5458.invoke (core.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:2793)
    sci.core$eval5090$loading__6789__auto____5091.invoke (core.cljc:1)
    sci.core$eval5090.invokeStatic (core.cljc:1)
    sci.core$eval5090.invoke (core.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:805)
    clj_kondo.hooks_api$eval791$loading__6789__auto____792.invoke (hooks_api.clj:1)
    clj_kondo.hooks_api$eval791.invokeStatic (hooks_api.clj:1)
    clj_kondo.hooks_api$eval791.invoke (hooks_api.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:930)
    clj_kondo.core$eval176$loading__6789__auto____177.invoke (core.clj:1)
    clj_kondo.core$eval176.invokeStatic (core.clj:1)
    clj_kondo.core$eval176.invoke (core.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:482)
    clj_kondo.main$eval156$loading__6789__auto____157.invoke (main.clj:1)
    clj_kondo.main$eval156.invokeStatic (main.clj:1)
    clj_kondo.main$eval156.invoke (main.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    leiningen.clj_kondo$eval148$loading__6789__auto____149.invoke (clj_kondo.clj:1)
    leiningen.clj_kondo$eval148.invokeStatic (clj_kondo.clj:1)
    leiningen.clj_kondo$eval148.invoke (clj_kondo.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:116)
    leiningen.core.utils$require_resolve.invoke (utils.clj:109)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:119)
    leiningen.core.utils$require_resolve.invoke (utils.clj:109)
    leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
    leiningen.core.main$lookup_task_var.invoke (main.clj:65)
    leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
    leiningen.core.main$task_args.invokeStatic (main.clj:82)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
    leiningen.core.main$_main$fn__7523.invoke (main.clj:469)
    leiningen.core.main$_main.invokeStatic (main.clj:454)
    leiningen.core.main$_main.doInvoke (main.clj:451)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    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)
Caused by: java.lang.RuntimeException: Unable to resolve var: edn/read-symbolic-value in this context
 at clojure.lang.Util.runtimeException (Util.java:221)
    clojure.lang.Compiler$TheVarExpr$Parser.parse (Compiler.java:720)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7124)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.analyze (Compiler.java:6762)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3900)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7126)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.access$300 (Compiler.java:38)
    clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:7124)
    clojure.lang.Compiler.analyze (Compiler.java:6806)
    clojure.lang.Compiler.analyze (Compiler.java:6762)
    clojure.lang.Compiler.eval (Compiler.java:7198)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    edamame.core$eval5458$loading__6789__auto____5459.invoke (core.cljc:1)
    edamame.core$eval5458.invokeStatic (core.cljc:1)
    edamame.core$eval5458.invoke (core.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:2793)
    sci.core$eval5090$loading__6789__auto____5091.invoke (core.cljc:1)
    sci.core$eval5090.invokeStatic (core.cljc:1)
    sci.core$eval5090.invoke (core.cljc:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:805)
    clj_kondo.hooks_api$eval791$loading__6789__auto____792.invoke (hooks_api.clj:1)
    clj_kondo.hooks_api$eval791.invokeStatic (hooks_api.clj:1)
    clj_kondo.hooks_api$eval791.invoke (hooks_api.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:930)
    clj_kondo.core$eval176$loading__6789__auto____177.invoke (core.clj:1)
    clj_kondo.core$eval176.invokeStatic (core.clj:1)
    clj_kondo.core$eval176.invoke (core.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:482)
    clj_kondo.main$eval156$loading__6789__auto____157.invoke (main.clj:1)
    clj_kondo.main$eval156.invokeStatic (main.clj:1)
    clj_kondo.main$eval156.invoke (main.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    leiningen.clj_kondo$eval148$loading__6789__auto____149.invoke (clj_kondo.clj:1)
    leiningen.clj_kondo$eval148.invokeStatic (clj_kondo.clj:1)
    leiningen.clj_kondo$eval148.invoke (clj_kondo.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:7194)
    clojure.lang.Compiler.eval (Compiler.java:7183)
    clojure.lang.Compiler.load (Compiler.java:7653)
    clojure.lang.RT.loadResourceScript (RT.java:381)
    clojure.lang.RT.loadResourceScript (RT.java:372)
    clojure.lang.RT.load (RT.java:459)
    clojure.lang.RT.load (RT.java:424)
    clojure.core$load$fn__6908.invoke (core.clj:6161)
    clojure.core$load.invokeStatic (core.clj:6160)
    clojure.core$load.doInvoke (core.clj:6144)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invokeStatic (core.clj:5933)
    clojure.core$load_one.invoke (core.clj:5928)
    clojure.core$load_lib$fn__6850.invoke (core.clj:5975)
    clojure.core$load_lib.invokeStatic (core.clj:5974)
    clojure.core$load_lib.doInvoke (core.clj:5953)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$load_libs.invokeStatic (core.clj:6016)
    clojure.core$load_libs.doInvoke (core.clj:6000)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:669)
    clojure.core$require.invokeStatic (core.clj:6038)
    clojure.core$require.doInvoke (core.clj:6038)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:116)
    leiningen.core.utils$require_resolve.invoke (utils.clj:109)
    leiningen.core.utils$require_resolve.invokeStatic (utils.clj:119)
    leiningen.core.utils$require_resolve.invoke (utils.clj:109)
    leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
    leiningen.core.main$lookup_task_var.invoke (main.clj:65)
    leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
    leiningen.core.main$task_args.invokeStatic (main.clj:82)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
    leiningen.core.main$_main$fn__7523.invoke (main.clj:469)
    leiningen.core.main$_main.invokeStatic (main.clj:454)
    leiningen.core.main$_main.doInvoke (main.clj:451)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    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)

Infer `source-paths` and `test-paths`

Hi there!

Nice addition of a Lein plugin, however the feature I'd expect the most isn't there: source-paths and test-paths inference.

I consider a traditional weak point in clj-kondo that one has to specify src by hand. People would often forget/procastinate adding test, or would be unaware of additional paths.

Following the design of many other plugins, source-paths and test-paths should be just grabbed from the project and passed to clj-kondo main.

Unless of course something else was explicitly provided as CLI arguments.

I tried $classpath btw, it does what it says in the tin, however that would mean that 3rd party deps are also linted - easily failing a build.

Cheers - V

Global configuration as resource

Hey there,

for a particular scenario I'd like to have a clj-kondo config released as a resource in a .jar and consumed from lein-clj-kondo.

The use case is definining org-wide preferences, etc.

I wonder if this is something that is possible OOTB already, or would it need some hacking?

The main feature/constraint is that the config should be a resource, not a file.

Maybe one could specify this as a Lein plugin option? {:config-resources ["mega/corp/clj_kondo_config.edn"]} which the plugin would convert into an io/resource call, slurp it, and pass that edn as https://github.com/clj-kondo/clj-kondo/blob/ab3172541dd07e52486962c762c6bd739ab25a09/src/clj_kondo/main.clj#L41-L42

WDYT?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.