Recent releases
|
Recent articles
|
liquidz / antq Goto Github PK
View Code? Open in Web Editor NEWPoint out your outdated dependencies.
License: Other
Point out your outdated dependencies.
License: Other
Recent releases
|
Recent articles
|
Still loving antq, thanks @liquidz!
Scenario: I am using antq to check for outdated dependencies. I reports that there is a new version v of dependency d. I discover though that there is a serious enough bug in dependency d version v that'd I do not want to upgrade.
Ideally I'd like to tell antq to no longer tell me about dependency d version v being available. I'm just not interested.
I am, though, interested in learning about the next version v of dependency d when it becomes available.
Not sure what form this exclusion config would take, thought I'd first check if the idea might be of interest.
I'm using v3-rev20180622-1.27.0
, and antq is suggesting I upgrade to v2.4-rev20180622-1.30.8
:
| :file | :name | :current | :latest |
|----------+-----------------------------------------------+-----------------------+-------------------------|
| deps.edn | com.google.apis/google-api-services-analytics | v3-rev20180622-1.27.0 | v2.4-rev20180622-1.30.8 |
It's actually an older version of the API so "upgrading" to that would end up breaking my project. Shouldn't 3
be considered newer than 2.4
?
Antq will sometimes update to "null" for deps like ions/dev-local or git deps. I imagine "null" will rarely be a real version, so perhaps it would be safe to skip these updates?
Upgraded com.datomic/ion '0.9.48' to 'null' in deps.edn.
Upgraded expound/expound 'bdccedc96c65e0d104e6139121a501453007f398' to 'null' in deps.edn.
Upgraded com.datomic/dev-local '0.9.225' to 'null' in deps.edn.
Upgraded com.wsscode/pathom-datomic '88212bf72b3092aa12af1c7aa94eb696fc08d12c' to 'null' in deps.edn.
Upgraded com.cognitect/rebl '0.9.242' to 'null' in deps.edn.
Upgraded com.google.guava/guava '22.0' to '30.0-jre' in deps.edn.
-A:nop
doesn't work well?
https://github.com/liquidz/antq/blob/0.12.0/Makefile#L25
When I run antq on rewrite-clj, I get:
| :file | :name | :current | :latest |
|-----------------------------------------+---------------------------+---------------------+-------------|
| .github/workflows/native-image-test.yml | graalvm/graalvm-ce-builds | ${{ matrix.graal }} | vm-21.0.0.2 |
My GitHub Actions workflow has:
- name: Install GraalVM
uses: DeLaGuardo/setup-graalvm@master
with:
graalvm-version: ${{ matrix.graal }}
I suppose antq could figure out possible variables for ${{ matrix.graal }}
:
strategy:
matrix:
os: [ windows-latest, ubuntu-latest, macos-latest ]
graal: [ 21.0.0.2.java8, 21.0.0.2.java11 ]
test: [ pure, sci ]
exclude:
- os: windows-latest
graal: 21.0.0.2.java8
But perhaps easier to just ignore this case?
Hi again,
I liked this feature:
Available diffs:
- https://github.com/clojure/clojure/compare/clojure-1.10.1...1.10.3
Additionally, one could try printing https://github.com/clojure/clojure/blob/clojure-1.10.3/changes.md if that file exists (as of that tag). A few filenames could be atttempted to be fetched:
changes.md
CHANGELOG.md
CHANGELOG.adoc
and so on. I checked that one can query those files via HEAD so as not to spam much github's servers.
WDYT? I could give it a shot.
When using antq as a plugin, the following project.clj
(defproject foo "0.0.1"
:plugins [[s3-wagon-private "1.3.4"]])
causes a large exception to be thrown when running lein antq
.
$ lein antq
clojure.lang.Compiler$CompilerException: Syntax error compiling . at (cheshire/factory.clj:61:7).
#:clojure.error{:phase :compile-syntax-check, :line 61, :column 7, :source "cheshire/factory.clj", :symbol .}
at clojure.lang.Compiler.analyzeSeq (Compiler.java:7115)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6118)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$FnMethod.parse (Compiler.java:5467)
clojure.lang.Compiler$FnExpr.parse (Compiler.java:4029)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7105)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.access$300 (Compiler.java:38)
clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler.eval (Compiler.java:7181)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
cheshire.core$eval3160$loading__6721__auto____3161.invoke (core.clj:1)
cheshire.core$eval3160.invokeStatic (core.clj:1)
cheshire.core$eval3160.invoke (core.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:421)
antq.report.json$eval3152$loading__6721__auto____3153.invoke (json.clj:1)
antq.report.json$eval3152.invokeStatic (json.clj:1)
antq.report.json$eval3152.invoke (json.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:3894)
antq.core$eval682$loading__6721__auto____683.invoke (core.clj:8)
antq.core$eval682.invokeStatic (core.clj:8)
antq.core$eval682.invoke (core.clj:8)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
leiningen.antq$eval671$loading__6721__auto____672.invoke (antq.clj:1)
leiningen.antq$eval671.invokeStatic (antq.clj:1)
leiningen.antq$eval671.invoke (antq.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
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__7420.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:665)
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.NoClassDefFoundError: com/fasterxml/jackson/core/TSFBuilder
at java.lang.ClassLoader.defineClass1 (ClassLoader.java:-2)
java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
java.net.URLClassLoader$1.run (URLClassLoader.java:458)
java.net.URLClassLoader$1.run (URLClassLoader.java:452)
java.security.AccessController.doPrivileged (AccessController.java:-2)
java.net.URLClassLoader.findClass (URLClassLoader.java:451)
clojure.lang.DynamicClassLoader.findClass (DynamicClassLoader.java:69)
java.lang.ClassLoader.loadClass (ClassLoader.java:589)
clojure.lang.DynamicClassLoader.loadClass (DynamicClassLoader.java:77)
java.lang.ClassLoader.loadClass (ClassLoader.java:522)
java.lang.Class.getDeclaredMethods0 (Class.java:-2)
java.lang.Class.privateGetDeclaredMethods (Class.java:3166)
java.lang.Class.privateGetPublicMethods (Class.java:3191)
java.lang.Class.getMethods (Class.java:1904)
clojure.lang.Reflector.getMethods (Reflector.java:498)
clojure.lang.Compiler$InstanceMethodExpr.<init> (Compiler.java:1488)
clojure.lang.Compiler$HostExpr$Parser.parse (Compiler.java:1024)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6118)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$FnMethod.parse (Compiler.java:5467)
clojure.lang.Compiler$FnExpr.parse (Compiler.java:4029)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7105)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.access$300 (Compiler.java:38)
clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler.eval (Compiler.java:7181)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
cheshire.core$eval3160$loading__6721__auto____3161.invoke (core.clj:1)
cheshire.core$eval3160.invokeStatic (core.clj:1)
cheshire.core$eval3160.invoke (core.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:421)
antq.report.json$eval3152$loading__6721__auto____3153.invoke (json.clj:1)
antq.report.json$eval3152.invokeStatic (json.clj:1)
antq.report.json$eval3152.invoke (json.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:3894)
antq.core$eval682$loading__6721__auto____683.invoke (core.clj:8)
antq.core$eval682.invokeStatic (core.clj:8)
antq.core$eval682.invoke (core.clj:8)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
leiningen.antq$eval671$loading__6721__auto____672.invoke (antq.clj:1)
leiningen.antq$eval671.invokeStatic (antq.clj:1)
leiningen.antq$eval671.invoke (antq.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
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__7420.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:665)
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.ClassNotFoundException: com.fasterxml.jackson.core.TSFBuilder
at java.net.URLClassLoader.findClass (URLClassLoader.java:471)
clojure.lang.DynamicClassLoader.findClass (DynamicClassLoader.java:69)
java.lang.ClassLoader.loadClass (ClassLoader.java:589)
clojure.lang.DynamicClassLoader.loadClass (DynamicClassLoader.java:77)
java.lang.ClassLoader.loadClass (ClassLoader.java:522)
java.lang.ClassLoader.defineClass1 (ClassLoader.java:-2)
java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
java.net.URLClassLoader$1.run (URLClassLoader.java:458)
java.net.URLClassLoader$1.run (URLClassLoader.java:452)
java.security.AccessController.doPrivileged (AccessController.java:-2)
java.net.URLClassLoader.findClass (URLClassLoader.java:451)
clojure.lang.DynamicClassLoader.findClass (DynamicClassLoader.java:69)
java.lang.ClassLoader.loadClass (ClassLoader.java:589)
clojure.lang.DynamicClassLoader.loadClass (DynamicClassLoader.java:77)
java.lang.ClassLoader.loadClass (ClassLoader.java:522)
java.lang.Class.getDeclaredMethods0 (Class.java:-2)
java.lang.Class.privateGetDeclaredMethods (Class.java:3166)
java.lang.Class.privateGetPublicMethods (Class.java:3191)
java.lang.Class.getMethods (Class.java:1904)
clojure.lang.Reflector.getMethods (Reflector.java:498)
clojure.lang.Compiler$InstanceMethodExpr.<init> (Compiler.java:1488)
clojure.lang.Compiler$HostExpr$Parser.parse (Compiler.java:1024)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6118)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6436)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:6120)
clojure.lang.Compiler$FnMethod.parse (Compiler.java:5467)
clojure.lang.Compiler$FnExpr.parse (Compiler.java:4029)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7105)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7095)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.access$300 (Compiler.java:38)
clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:596)
clojure.lang.Compiler.analyzeSeq (Compiler.java:7107)
clojure.lang.Compiler.analyze (Compiler.java:6789)
clojure.lang.Compiler.analyze (Compiler.java:6745)
clojure.lang.Compiler.eval (Compiler.java:7181)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
cheshire.core$eval3160$loading__6721__auto____3161.invoke (core.clj:1)
cheshire.core$eval3160.invokeStatic (core.clj:1)
cheshire.core$eval3160.invoke (core.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:421)
antq.report.json$eval3152$loading__6721__auto____3153.invoke (json.clj:1)
antq.report.json$eval3152.invokeStatic (json.clj:1)
antq.report.json$eval3152.invoke (json.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:3894)
antq.core$eval682$loading__6721__auto____683.invoke (core.clj:8)
antq.core$eval682.invokeStatic (core.clj:8)
antq.core$eval682.invoke (core.clj:8)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
clojure.lang.RestFn.invoke (RestFn.java:457)
leiningen.antq$eval671$loading__6721__auto____672.invoke (antq.clj:1)
leiningen.antq$eval671.invokeStatic (antq.clj:1)
leiningen.antq$eval671.invoke (antq.clj:1)
clojure.lang.Compiler.eval (Compiler.java:7177)
clojure.lang.Compiler.eval (Compiler.java:7166)
clojure.lang.Compiler.load (Compiler.java:7636)
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__6839.invoke (core.clj:6126)
clojure.core$load.invokeStatic (core.clj:6125)
clojure.core$load.doInvoke (core.clj:6109)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5908)
clojure.core$load_one.invoke (core.clj:5903)
clojure.core$load_lib$fn__6780.invoke (core.clj:5948)
clojure.core$load_lib.invokeStatic (core.clj:5947)
clojure.core$load_lib.doInvoke (core.clj:5928)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$load_libs.invokeStatic (core.clj:5985)
clojure.core$load_libs.doInvoke (core.clj:5969)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:667)
clojure.core$require.invokeStatic (core.clj:6007)
clojure.core$require.doInvoke (core.clj:6007)
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__7420.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:665)
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)
When used on a deps.edn
based project that uses git/sha coordinates to select a dependency, we see output like this:
| :file | :name | :version | :latest-version |
|----------+------------------------------+----------+-----------------|
| deps.edn | athos/clj-check | | Failed to fetch |
| | noisesmith/lein-git-info-edn | | Failed to fetch |
Are there plans afoot to check the latest version of dependencies expressed via git/sha coordinates?
I believe this can be achieved using the git ls-remote
command.
Annoying message appears at start
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Adding org.slf4j/slf4j-nop {:mvn/version "RELEASE"}}
to deps solves the problem, but it is not mentioned in README.
The fix for issue #24 has resulted in the GitHub dependencies
Action no longer functioning. The specific error is:
2020-08-31T19:29:05.5020389Z ##[section]Starting: Request a runner to run this job
---------- 8< ----------
2020-08-31T19:29:35.8782521Z ##[group]Run java -jar /tmp/antq/antq.jar --error-format="::error file={{file}}::{{message}}"
2020-08-31T19:29:35.8782782Z �[36;1mjava -jar /tmp/antq/antq.jar --error-format="::error file={{file}}::{{message}}"�[0m
2020-08-31T19:29:35.8784800Z shell: sh -e {0}
2020-08-31T19:29:35.8784933Z ##[endgroup]
2020-08-31T19:29:37.5381586Z SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2020-08-31T19:29:37.5382524Z SLF4J: Defaulting to no-operation (NOP) logger implementation
2020-08-31T19:29:37.5382823Z SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2020-08-31T19:29:38.9251873Z Exception in thread "main" java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.io.IOException: Cannot run program "git": error=2, No such file or directory
2020-08-31T19:29:38.9274667Z at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
2020-08-31T19:29:38.9278790Z at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
2020-08-31T19:29:38.9282490Z at clojure.core$deref_future.invokeStatic(core.clj:2300)
2020-08-31T19:29:38.9292377Z at clojure.core$future_call$reify__8454.deref(core.clj:6974)
2020-08-31T19:29:38.9297238Z at clojure.core$deref.invokeStatic(core.clj:2320)
2020-08-31T19:29:38.9302237Z at clojure.core$pmap$step__8467$fn__8471.invoke(core.clj:7025)
2020-08-31T19:29:38.9307154Z at clojure.lang.LazySeq.sval(LazySeq.java:42)
2020-08-31T19:29:38.9307620Z at clojure.lang.LazySeq.seq(LazySeq.java:51)
2020-08-31T19:29:38.9308055Z at clojure.lang.RT.seq(RT.java:535)
2020-08-31T19:29:38.9308308Z at clojure.core$seq__5402.invokeStatic(core.clj:137)
2020-08-31T19:29:38.9308559Z at clojure.core$map$fn__5866.invoke(core.clj:2746)
2020-08-31T19:29:38.9308822Z at clojure.lang.LazySeq.sval(LazySeq.java:42)
2020-08-31T19:29:38.9309060Z at clojure.lang.LazySeq.seq(LazySeq.java:51)
2020-08-31T19:29:38.9309296Z at clojure.lang.RT.seq(RT.java:535)
2020-08-31T19:29:38.9309550Z at clojure.core$seq__5402.invokeStatic(core.clj:137)
2020-08-31T19:29:38.9309795Z at clojure.core$filter$fn__5893.invoke(core.clj:2809)
2020-08-31T19:29:38.9310037Z at clojure.lang.LazySeq.sval(LazySeq.java:42)
2020-08-31T19:29:38.9310290Z at clojure.lang.LazySeq.seq(LazySeq.java:51)
2020-08-31T19:29:38.9310526Z at clojure.lang.Cons.next(Cons.java:39)
2020-08-31T19:29:38.9310858Z at clojure.lang.RT.length(RT.java:1784)
2020-08-31T19:29:38.9339888Z at clojure.lang.RT.seqToArray(RT.java:1725)
2020-08-31T19:29:38.9340411Z at clojure.lang.LazySeq.toArray(LazySeq.java:132)
2020-08-31T19:29:38.9356889Z at clojure.lang.RT.toArray(RT.java:1698)
2020-08-31T19:29:38.9357259Z at clojure.core$to_array.invokeStatic(core.clj:344)
2020-08-31T19:29:38.9357509Z at clojure.core$sort.invokeStatic(core.clj:3113)
2020-08-31T19:29:38.9357742Z at clojure.core$sort.invoke(core.clj:3102)
2020-08-31T19:29:38.9358003Z at antq.report.format$fn__1706.invokeStatic(format.clj:25)
2020-08-31T19:29:38.9358279Z at antq.report.format$fn__1706.invoke(format.clj:20)
2020-08-31T19:29:38.9358520Z at clojure.lang.MultiFn.invoke(MultiFn.java:234)
2020-08-31T19:29:38.9358775Z at antq.core$_main.invokeStatic(core.clj:112)
2020-08-31T19:29:38.9358999Z at antq.core$_main.doInvoke(core.clj:103)
2020-08-31T19:29:38.9359222Z at clojure.lang.RestFn.applyTo(RestFn.java:137)
2020-08-31T19:29:38.9360151Z at antq.core.main(Unknown Source)
2020-08-31T19:29:38.9360493Z Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Cannot run program "git": error=2, No such file or directory
2020-08-31T19:29:38.9361065Z at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
2020-08-31T19:29:38.9361319Z at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
2020-08-31T19:29:38.9361559Z at clojure.core$deref_future.invokeStatic(core.clj:2300)
2020-08-31T19:29:38.9361800Z at clojure.core$future_call$reify__8454.deref(core.clj:6974)
2020-08-31T19:29:38.9362033Z at clojure.core$deref.invokeStatic(core.clj:2320)
2020-08-31T19:29:38.9362397Z at clojure.core$pmap$step__8467$fn__8471.invoke(core.clj:7025)
2020-08-31T19:29:38.9362647Z at clojure.lang.LazySeq.sval(LazySeq.java:42)
2020-08-31T19:29:38.9362861Z at clojure.lang.LazySeq.seq(LazySeq.java:51)
2020-08-31T19:29:38.9363088Z at clojure.lang.Cons.next(Cons.java:39)
2020-08-31T19:29:38.9363311Z at clojure.lang.RT.next(RT.java:713)
2020-08-31T19:29:38.9363538Z at clojure.core$next__5386.invokeStatic(core.clj:64)
2020-08-31T19:29:38.9363770Z at clojure.core$some.invokeStatic(core.clj:2701)
2020-08-31T19:29:38.9364003Z at clojure.core$some.invoke(core.clj:2692)
2020-08-31T19:29:38.9364501Z at antq.core$complete_versions_by.invokeStatic(core.clj:69)
2020-08-31T19:29:38.9364848Z at antq.core$complete_versions_by.invoke(core.clj:67)
2020-08-31T19:29:38.9365082Z at antq.core$outdated_deps$fn__3097.invoke(core.clj:85)
2020-08-31T19:29:38.9365318Z at clojure.core$pmap$fn__8462$fn__8463.invoke(core.clj:7022)
2020-08-31T19:29:38.9365563Z at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
2020-08-31T19:29:38.9365797Z at clojure.lang.AFn.call(AFn.java:18)
2020-08-31T19:29:38.9366029Z at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2020-08-31T19:29:38.9366259Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
2020-08-31T19:29:38.9366517Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
2020-08-31T19:29:38.9366763Z at java.base/java.lang.Thread.run(Thread.java:832)
2020-08-31T19:29:38.9367016Z Caused by: java.io.IOException: Cannot run program "git": error=2, No such file or directory
2020-08-31T19:29:38.9367267Z at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
2020-08-31T19:29:38.9367509Z at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
2020-08-31T19:29:38.9367744Z at java.base/java.lang.Runtime.exec(Runtime.java:590)
2020-08-31T19:29:38.9367974Z at clojure.java.shell$sh.invokeStatic(shell.clj:113)
2020-08-31T19:29:38.9368207Z at clojure.java.shell$sh.doInvoke(shell.clj:79)
2020-08-31T19:29:38.9368435Z at clojure.lang.RestFn.invoke(RestFn.java:436)
2020-08-31T19:29:38.9368664Z at antq.ver.git$git_ls_remote.invokeStatic(git.clj:18)
2020-08-31T19:29:38.9368913Z at antq.ver.git$git_ls_remote.invoke(git.clj:16)
2020-08-31T19:29:38.9369140Z at antq.ver.git$fn__2606.invokeStatic(git.clj:23)
2020-08-31T19:29:38.9369365Z at antq.ver.git$fn__2606.invoke(git.clj:20)
2020-08-31T19:29:38.9369578Z at clojure.lang.MultiFn.invoke(MultiFn.java:229)
2020-08-31T19:29:38.9369810Z at antq.core$assoc_versions.invokeStatic(core.clj:44)
2020-08-31T19:29:38.9370036Z at antq.core$assoc_versions.invoke(core.clj:42)
2020-08-31T19:29:38.9370258Z ... 7 more
2020-08-31T19:29:38.9370484Z Caused by: java.io.IOException: error=2, No such file or directory
2020-08-31T19:29:38.9370722Z at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
2020-08-31T19:29:38.9370958Z at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:319)
2020-08-31T19:29:38.9371196Z at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250)
2020-08-31T19:29:38.9371435Z at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
2020-08-31T19:29:38.9371663Z ... 19 more
2020-08-31T19:30:39.0697260Z ##[error]Process completed with exit code 1.
---------- 8< ----------
Sorry for not thinking to test this until now!
My scenario:
The minimum version of Clojure for rewrite-clj is 1.9.0.
This is therefore what ends up in my pom.xml.
My deps.edn, though, references other versions of Clojure to support testing.
I like that antq tells me when there is a newer version of Clojure when it analyzes my deps.edn.
But when it analyzes my pom.xml, I don't need to know that there is a newer version of Clojure.
I started off by ignoring this report, but then decided to add some custom version pinning support via my babashka script.
That's one approach, but I guess I'd probably also be happy if I knew that deps in my deps.edn are not outdated (we already have this) and that deps in my pom.xml are in synch with my deps.edn. But maybe such a check is out of the realm of antq.
I'm quite OK with my little babashka script hack but I think that this this scenario might be common and that's why I've raised it for your consideration. I expect that most folks would end up just excluding their pom.xml from antq analysis.
So to recap ideas for this scenario:
I've tried both:
clojure -Tantq outdated :upgrade true
and:
clojure -Tantq outdated '{:upgrade true}'
They don't seem to have any effect that's different to:
clojure -Tantq outdated
There's no interactive prompt and no writes to the deps.edn
file.
This input is causing it to fail:
(antq.ver/latest?
{:type :github-tag,
:file ".github/workflows/percy-issue-comment.yml",
:name "octokit/request-action",
:version "v2.x",
:latest-version "v2.1.0",
:repositories nil,
:project :github-action,
:diff-url nil,
:latest-name nil,
:only-newest-version? nil})
1. Caused by java.lang.ClassCastException
class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in
module java.base of loader 'bootstrap')
Numbers.java: 263 clojure.lang.Numbers/gte
github_tag.clj: 78 antq.ver.github-tag/nth-newer?
github_tag.clj: 70 antq.ver.github-tag/nth-newer?
github_tag.clj: 89 antq.ver.github-tag/eval14774/fn
MultiFn.java: 229 clojure.lang.MultiFn/invoke
REPL: 21 antq.ver.github-tag/eval14947
REPL: 21 antq.ver.github-tag/eval14947
Compiler.java: 7181 clojure.lang.Compiler/eval
Compiler.java: 7136 clojure.lang.Compiler/eval
core.clj: 3202 clojure.core/eval
core.clj: 3198 clojure.core/eval
interruptible_eval.clj: 87 nrepl.middleware.interruptible-eval/evaluate/fn/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 667 clojure.core/apply
core.clj: 1977 clojure.core/with-bindings*
core.clj: 1977 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 nrepl.middleware.interruptible-eval/evaluate/fn
main.clj: 437 clojure.main/repl/read-eval-print/fn
main.clj: 437 clojure.main/repl/read-eval-print
main.clj: 458 clojure.main/repl/fn
main.clj: 458 clojure.main/repl
main.clj: 368 clojure.main/repl
RestFn.java: 137 clojure.lang.RestFn/applyTo
core.clj: 667 clojure.core/apply
core.clj: 662 clojure.core/apply
regrow.clj: 20 refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 84 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 56 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 152 nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
AFn.java: 22 clojure.lang.AFn/run
session.clj: 202 nrepl.middleware.session/session-exec/main-loop/fn
session.clj: 201 nrepl.middleware.session/session-exec/main-loop
AFn.java: 22 clojure.lang.AFn/run
Thread.java: 831 java.lang.Thread/run
Hi,
Thanks for the handy library and github action! I encountered an exception with a bb.edn like the following:
{:tasks
{:init (let [foo :foo] (assoc-in {} [:deps foo :bar] "baz"))}}
Running a clojure alias as described in the readme results in
$ clojure -M:outdated
Execution error (IllegalArgumentException) at antq.dep.clojure/extract-deps$fn (clojure.clj:41).
Don't know how to create ISeq from: clojure.lang.Symbol
If I rename :deps to :depz the error goes away.
A secondary issue I encountered was that adding --skip babashka
didn't allow me to turn off bb. I ended up reverting to 0.12.4 so I could run antq.
Cheers
I got a weird error when running antq on https://github.com/trptcolin/reply
$ lein outdated
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: qualified-symbol? in this context, compiling:(antq/dep/boot.clj:38:40)
That's with the latest version of antq. It seems to run fine on other projects I've tried it with.
Hi,
I pull in several other custom libraries by specifying the :local/root
directive in my deps.edn
.
For example, in my deps.edn
:
:base {:extra-deps {local-base/local-base {:local/root "/home/david/.clojure/libs/local.base" :deps/manifest :deps}}}
:rebel {:extra-deps {local-nrepl/local-nrepl {:local/root "/home/david/.clojure/libs/local.nrepl" :deps/manifest :deps}
local-rebel/local-rebel {:local/root "/home/david/.clojure/libs/local.rebel" :deps/manifest :deps}}
:main-opts ["-m" "local.rebel.main"]}
When antq
is run against the deps.edn
, the following is shown:
| :file | :name | :version | :latest-version |
|----------+-------------------------+----------+-----------------|
| deps.edn | local-base/local-base | | Failed to fetch |
| | local-nrepl/local-nrepl | | Failed to fetch |
| | local-rebel/local-rebel | | Failed to fetch |
Perhaps :local/root
should be ignored as part of the resolution process?
Thank you!
-=david=-
Shadow-cljs supports the #shadow/env and #env reader litteral (see: https://shadow-cljs.github.io/docs/UsersGuide.html#shadow-env). Antq crashes with the following error if one of those is used in the shadow-cljs.edn:
Execution error at antq.dep.shadow/extract-deps (shadow.clj:18).
No reader function for tag env
In my .github/workflows/build.yml
I have the following:
# ...
jobs:
build:
# ...
steps:
# ...
- name: Install Clojure CLI
uses: DeLaGuardo/[email protected]
with:
tools-deps: latest
# ...
This causes antq v0.12.0 to emit the following false positive:
| .github/workflows/build.yml | clojure/brew-install | latest | 1.10.3.814 |
It is useful if web can detect outdated versions in third-party github actions like follows.
I have some code that was depending on a release candidate of a published open source library, specifically org.suskalo/discljord {:mvn/version "1.2.0-RC1"}
. As can be seen, this version string follows the standard Maven representation of a release candidate, by using a "-RC#" suffix.
Today the developer of this library announced that the GA version of v1.2.0 had been released, with the following coordinate: org.suskalo/discljord {:mvn/version "1.2.0"}
. Again this is a bog-standard Maven version.
antq v0.9.3 did not detect that the newer version was available however - it simply stated "All dependencies are up-to-date.".
To support GitHub Actions Annotations mainly.
Hi
When running lein outdated
on onyx-kafka I get the following exception thrown:
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: qualified-symbol? in this context, compiling:(antq/dep/boot.clj:36:40)
Please advise.
Thanks
Stack Trace:
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: qualified-symbol? in this context, compiling:(antq/dep/boot.clj:36:40)
at clojure.lang.Compiler.analyze(Compiler.java:6688)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3766)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2792)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$MapExpr.parse(Compiler.java:3072)
at clojure.lang.Compiler.analyze(Compiler.java:6677)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3834)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3834)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2797)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3766)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6231)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2792)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2797)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2797)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$NewExpr$Parser.parse(Compiler.java:2634)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.access$300(Compiler.java:38)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6269)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6319)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.access$300(Compiler.java:38)
at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler.eval(Compiler.java:6931)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$require.invokeStatic(core.clj:5796)
at clojure.core$require.doInvoke(core.clj:5796)
at clojure.lang.RestFn.invoke(RestFn.java:2793)
at antq.core$eval26$loading__5569__auto____27.invoke(core.clj:1)
at antq.core$eval26.invokeStatic(core.clj:1)
at antq.core$eval26.invoke(core.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6916)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$require.invokeStatic(core.clj:5796)
at clojure.core$require.doInvoke(core.clj:5796)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval11$fn__13.invoke(form-init3079444706321437920.clj:1)
at user$eval11.invokeStatic(form-init3079444706321437920.clj:1)
at user$eval11.invoke(form-init3079444706321437920.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6917)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.Compiler.loadFile(Compiler.java:7317)
at clojure.main$load_script.invokeStatic(main.clj:275)
at clojure.main$init_opt.invokeStatic(main.clj:277)
at clojure.main$init_opt.invoke(main.clj:277)
at clojure.main$initialize.invokeStatic(main.clj:308)
at clojure.main$null_opt.invokeStatic(main.clj:342)
at clojure.main$null_opt.invoke(main.clj:339)
at clojure.main$main.invokeStatic(main.clj:421)
at clojure.main$main.doInvoke(main.clj:384)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.lang.RuntimeException: Unable to resolve symbol: qualified-symbol? in this context
at clojure.lang.Util.runtimeException(Util.java:221)
at clojure.lang.Compiler.resolveIn(Compiler.java:7164)
at clojure.lang.Compiler.resolve(Compiler.java:7108)
at clojure.lang.Compiler.analyzeSymbol(Compiler.java:7069)
at clojure.lang.Compiler.analyze(Compiler.java:6648)
... 230 more
clojure 1.10.1
antq 0.10.0
If one has a deps.edn
file like this:
:uberjar {:extra-deps {seancorfield/depstar {:mvn/version "2.0.161"}}
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]
:main-opts ["-m" "hf.depstar.uberjar"]}
:jar {:extra-deps {seancorfield/depstar {:mvn/version "1.1.136"}}
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]
:main-opts ["-m" "hf.depstar.jar"]}
On running clj -M:antq
with this alias:
:antq {:replace-deps {org.slf4j/slf4j-nop {:mvn/version "1.7.30"}
antq/antq {:mvn/version "0.10.0"}}
:main-opts ["-m" "antq.core"
"--skip" "pom"
"--upgrade"
"--force"]}
Only the first dependency is upgraded, with the second one being ignored. If uberjar
is commented out, then the second one is upgraded (and vice versa).
I have a line in deps.edn org.slf4j/slf4j-simple {:mvn/version "1.7.30"}
and got an exception.
"Execution error (ClassCastException) at unilog.config/start-logging! (config.clj:354).\nclass org.slf4j.impl.SimpleLogger cannot be cast to class ch.qos.logback.classic.Logger (org.slf4j.impl.SimpleLogger and ch.qos.logback.classic.Logger are in unnamed module of loader 'app')\n",
{:clojure.error/class java.lang.ClassCastException,
:clojure.error/line 354,
:clojure.error/cause
"class org.slf4j.impl.SimpleLogger cannot be cast to class ch.qos.logback.classic.Logger (org.slf4j.impl.SimpleLogger and ch.qos.logback.classic.Logger are in unnamed module of loader 'app')",
:clojure.error/symbol unilog.config/start-logging!,
:clojure.error/source "config.clj",
:clojure.error/phase :execution}
It will be a disallow list simply for now.
e.g. seancorfield/next.jdbc
=> com.github.seancorfield/next.jdbc
c.f. Clojars Verified Group Names policy
% clj -M:antq -m antq.core --upgrade
Execution error (XMLStreamException) at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl/next (XMLStreamReaderImpl.java:652).
ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
Full report at:
/var/folders/8y/6405xhpj3_76hgdlx9l0nymc0000gn/T/clojure-12443848096927637806.edn
{:clojure.main/message
"Execution error (XMLStreamException) at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl/next (XMLStreamReaderImpl.java:652).\nParseError at [row,col]:[1,1]\nMessage: Content is not allowed in prolog.\n",
:clojure.main/triage
{:clojure.error/class javax.xml.stream.XMLStreamException,
:clojure.error/line 652,
:clojure.error/cause
"ParseError at [row,col]:[1,1]\nMessage: Content is not allowed in prolog.",
:clojure.error/symbol
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl/next,
:clojure.error/source "XMLStreamReaderImpl.java",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type javax.xml.stream.XMLStreamException,
:message
"ParseError at [row,col]:[1,1]\nMessage: Content is not allowed in prolog.",
:at
[com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl
next
"XMLStreamReaderImpl.java"
652]}],
:trace
[[com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl
next
"XMLStreamReaderImpl.java"
652]
[clojure.data.xml.jvm.parse$pull_seq$fn__1834 invoke "parse.clj" 78]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5420 invokeStatic "core.clj" 139]
[clojure.core$seq__5420 invoke "core.clj" 139]
[clojure.data.xml.tree$seq_tree$fn__1667 invoke "tree.clj" 39]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.LazySeq first "LazySeq.java" 73]
[clojure.lang.RT first "RT.java" 692]
[clojure.core$first__5402 invokeStatic "core.clj" 55]
[clojure.core$ffirst__5412 invokeStatic "core.clj" 105]
[clojure.core$ffirst__5412 invoke "core.clj" 105]
[clojure.data.xml.tree$event_tree invokeStatic "tree.clj" 70]
[clojure.data.xml.tree$event_tree invoke "tree.clj" 66]
[clojure.data.xml$parse invokeStatic "xml.clj" 109]
[clojure.data.xml$parse doInvoke "xml.clj" 84]
[clojure.lang.RestFn invoke "RestFn.java" 410]
[clojure.lang.AFn applyToHelper "AFn.java" 154]
[clojure.lang.RestFn applyTo "RestFn.java" 132]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.data.xml$parse_str invokeStatic "xml.clj" 133]
[clojure.data.xml$parse_str doInvoke "xml.clj" 111]
[clojure.lang.RestFn invoke "RestFn.java" 410]
[antq.dep.pom$extract_deps invokeStatic "pom.clj" 21]
[antq.dep.pom$extract_deps invoke "pom.clj" 19]
[antq.dep.pom$load_deps invokeStatic "pom.clj" 41]
[antq.dep.pom$load_deps invoke "pom.clj" 36]
[antq.core$fetch_deps$fn__7832 invoke "core.clj" 198]
[clojure.core$map$fn__5885 invoke "core.clj" 2759]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5420 invokeStatic "core.clj" 139]
[clojure.core$apply invokeStatic "core.clj" 662]
[clojure.core$mapcat invokeStatic "core.clj" 2787]
[clojure.core$mapcat doInvoke "core.clj" 2787]
[clojure.lang.RestFn invoke "RestFn.java" 423]
[antq.core$fetch_deps invokeStatic "core.clj" 194]
[antq.core$fetch_deps invoke "core.clj" 191]
[antq.core$_main invokeStatic "core.clj" 242]
[antq.core$_main doInvoke "core.clj" 235]
[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]],
:cause
"ParseError at [row,col]:[1,1]\nMessage: Content is not allowed in prolog."}}
I don't know why it started happening. I've been using antq for months. Today I got this.
Today I updated some deps and I switched to Clojure 1.10.3.933 from clojure/tools tap, but I removed it and get the old version and the result is the same.
Tested on Clojure 1.10.3.833, 1.10.3.849, 1.10.3.933.
Tested on Oracle JDK 1.8, OpenJDK 1.8, OpenJDK 11. Everywhere the same.
Tested Antq 0.16.0 & 0.15.0. Same problem.
Checking out https://github.com/liquidz/antq/blob/400215d5e3edf61ac2cb3b993b9477ac7e69a061/src/antq/dep/leiningen.clj, the approach to checking project.clj doesn't quite seem idiomatic. project.clj is not data, but code meant to evaluated in a specific context. Treating it as data results in reduced accuracy and flexibility.
Three specific items can be pointed out:
~
to eval arbitrary Clojure code anywhere within project.clj)Therefore I'd suggest that the current approach becomes deprecated. Instead a Lein plugin would be offered.
As usual with plugins, they receive a project
argument with all evaluation rules already applied. So you don't need to worry about eval, profiles, or plugins - all those are already handled by Lein itself prior to one's plugin invocation.
WDYT?
I could contribute a PR.
lread/rewrite-cljc-playground is archived and migrated to clj-commons/rewrite-clj
Given an empty directory with the following deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/clojurescript {:mvn/version "1.10.520"}}}
When I run antq in the same directory I get:
> clojure -Sdeps '{:deps {antq/antq {:mvn/version "RELEASE"}}}' -M -m antq.core
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
| :file | :name | :version | :latest-version |
|----------+---------------------------+----------+-----------------|
| deps.edn | org.clojure/clojurescript | 1.10.520 | 1.10.773 |
I expected to also see that Clojure 1.10.2 is available.
https://github.com/liquidz/antq/blob/main/doc/avoid-slf4j-warnings.adoc
Clojure describes tools as:
The Clojure CLI supports the idea of running tools, which are programs that don’t use the project classpath, with the -T exec option. Tools are often (but not exclusively) external, defined with their own dependencies.
So could the antq "tool" be changed to automatically have the org.slf4j/slf4j-nop
dependency, without affecting the user's projects?
I've been using lein-ancient to upgrade deps in project.clj, but it obviously only supports lein, and I really miss such a tool for detecting outdated deps in shadow-cljs.edn until I find antq.
But antq seems to only able to list the outdated deps, and not able to update it automatically.
Is it feasible to implement this functionality, e.g using the rewrite-edn library?
I'm using Datomic dev-local, https://docs.datomic.com/cloud/dev-local.html, which uses a password protected maven repo.
I have a ~/.m2/settings.xml that includes:
<server>
<id>cognitect-dev-tools</id>
<username>${env.COGNITECT_DEV_TOOLS_USERNAME}</username>
<password>${env.COGNITECT_DEV_TOOLS_PASSWORD}</password>
</server>
a pom.xml that includes:
<repository>
<id>cognitect-dev-tools</id>
<url>https://dev-tools.cognitect.com/maven/releases/</url>
</repository>
and a deps.edn that looks like:
{:mvn/repos {"cognitect-dev-tools" {:url "https://dev-tools.cognitect.com/maven/releases/"}}
:deps {com.datomic/dev-local {:mvn/version "0.9.225"}
...}
...}
Everything works with tools.deps. Only antq appears to have a problem. For example:
| :file | :name | :version | :latest-version |
|----------+-----------------------+----------+-----------------|
| deps.edn | com.datomic/dev-local | 0.9.225 | Failed to fetch |
| pom.xml | com.datomic/dev-local | 0.9.225 | Failed to fetch |
One possible theory is that this is because "antq is using tools.deps.alpha for parts of its maven code, but not using it to read deps from deps.edn files" (hat tip Alex Miller).
When running antq against our repos I get an error when it tries to download a private library.
Eg if I run on a leiningen project:
clojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}}' -M -m antq.core
It produces:
...
Execution error (IOException) at sun.net.www.protocol.http.HttpURLConnection/getInputStream0 (HttpURLConnection.java:1924).
Server returned HTTP response code: 401 for URL: https://fundingcircle.jfrog.io/fundingcircle/libs-release-local/turbulent-metrics-kafka-streams/turbulent-metrics-kafka-streams/0.4.0/turbulent-metrics-kafka-streams-0.4.0.pom
This is a homemade lib which is hosted in a private repo declared inside project.clj
.
I have the same issue if running the same command against a tools.deps project.
lein ancient
works fine against the leiningen project and reports all libs version diff.clojure -Sdeps '{:deps {olical/depot {:mvn/version "RELEASE"}}}' -M -m depot.outdated.main
runs fine against the tools.deps project and reports the diff for the private lib too.If an alias uses this
:uberjar {:replace-deps {seancorfield/depstar {:mvn/version "2.0.161"}}
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]
:exec-fn hf.depstar/uberjar
:exec-args {:jar foo.jar
:group-id foo
:artifact-id bar
:version "0.0.1"
:main-class foo.bar.main
:aot true
:sync-pom true}}}
And antq
is run like this:
❯ clj -M:antq
| :file | :name | :version | :latest-version |
|----------+----------------------+----------+-----------------|
| deps.edn | metosin/reitit | 0.5.10 | 0.5.11 |
| | seancorfield/depstar | 2.0.161 | 2.0.165 |
Upgraded seancorfield/depstar '2.0.161' to '2.0.165' in deps.edn.
Upgraded metosin/reitit '0.5.10' to '0.5.11' in deps.edn.
Notice that the depstar
has apparently been upgraded to 2.0.165
, yet upon cat'ing the deps.edn
file the version is still 2.0.161
.
Changing replace-deps
to extra-deps
causes the deps.edn
file have the dependency version successfully changed to 2.0.165
, therefore it appears that the upgrade doesn't know how to handle the replace-deps
key.
My deps.end
has this dependency in it:
{juxt/kick.alpha {:git/url "https://github.com/juxt/kick.alpha.git"
:sha "e498d06fb99a82c808c2436574fae643016abbc0"}}
An abridged output of antq:
| :file | :name | :current | :latest |
| | juxt/kick.alpha | e498d06fb99a82c808c2436574fae643016abbc0 | e552e314750b4c5f337fe44849d92725877dffb0 |
Available diffs:
- https://github.com/juxt/kick.alpha.git/compare/e498d06fb99a82c808c2436574fae643016abbc0...e552e314750b4c5f337fe44849d92725877dffb0
Notice how the URL includes kick.alpha.git
whereas it should be just kick.alpha
.
Running this on our codebase at work produces:
The tag for current version is not found: https://github.com/bcgit/bc-java/
Execution error (NullPointerException) at antq.util.maven/get-scm-url (maven.clj:97).
Cannot invoke "org.apache.maven.model.Scm.getUrl()" because "scm" is null
(I think this must be a transitive dependency that something brings in)
Here's the top of the stack trace for more context:
[[antq.util.maven$get_scm_url invokeStatic "maven.clj" 97]
[antq.util.maven$get_scm_url invoke "maven.clj" 95]
[antq.diff.java$get_scm_url_STAR_ invokeStatic "java.clj" 60]
[antq.diff.java$get_scm_url_STAR_ invoke "java.clj" 52]
Hi
Any chance supporting Gradle too? (since Maven is supported)
https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html
Gradle is being used with or without a Clojure specific plug-in https://clojurephant.dev/clojurephant/ for Clojure/ClojureScript projects.
Thank you.
Aliases that include a dependency via the :replace-deps
key are not checked for newer versions. Tested with the 0.9.2 version of antq
The
:replace-deps
key is often used for defining tooling aliases that do not need to use the dependencies from the main project.
Add an alias to the user level configuration that adds the antq library via the :replace-deps
key, using a version less than the current, e.g. 0.9.1
:project/outdated
{:replace-deps {antq/antq {:mvn/version "0.9.1"}}
:main-opts ["-m" "antq.core"]}
Run the clojure command with the alias
clojure -M:project/outdated
Observed behaviour: 👀 💔
antq reports no library updates available, even though 0.9.2 is available.
Expected behaviour: ❤️ 😄
Updating the alias to use :extra-deps
and run the command again. This will report a new version of antq/antq is available
:project/outdated
{:extra-deps {antq/antq {:mvn/version "0.9.1"}}
:main-opts ["-m" "antq.core"]}
| :file | :name | :version | :latest-version |
|----------+-----------------------------+----------+-----------------|
| deps.edn | antq/antq | 0.9.1 | 0.9.2 |
c.f. https://www.docker.com/blog/changes-to-docker-hub-autobuilds/
We already have a workflow for GitHub Container Registry.
Hi there,
thank you for this awesome tool.
Would it be possible to add a flag that activates an exit code other than 0, when any of the dependencies is outdated?
This would be useful in a CI, which automatically checks code for outdated dependencies.
Hi,
Clojure 1.10.3
antq 1.0.1
:antq {:replace-deps {org.slf4j/slf4j-nop {:mvn/version "1.7.32"}
com.github.liquidz/antq {:mvn/version "1.0.1"}}
:main-opts ["-m" "antq.core"
"--skip" "pom"
"--upgrade"
"--force"]}
Just running clojure -M:antq
on a repo with the git/sha
support and I get this error:
(here's a snippet, containing the relevant dependency)
:aliases {:build {:deps {io.github.seancorfield/build-clj {:git/tag "v0.2.2"
:git/sha "5a12a1a"}}
:ns-default build}
❯ clj -M:antq
| :file | :name | :current | :latest |
|----------+----------------------------------+----------+---------|
| deps.edn | io.github.seancorfield/build-clj | 5a12a1a | e15ca9f |
Available diffs:
- https://github.com/seancorfield/build-clj/compare/5a12a1a...e15ca9f3eaae32eaae0c4ab3aaab98a944531046
Execution error (NullPointerException) at rewrite-clj.custom-zipper.core/next (core.cljc:237).
Cannot invoke "clojure.lang.IFn.invoke(Object)"
Full report at:
/tmp/clojure-13710505474834097685.edn
Here's the stack:
{:clojure.main/message
"Execution error (NullPointerException) at rewrite-clj.custom-zipper.core/next (core.cljc:237).\nCannot invoke \"clojure.lang.IFn.invoke(Object)\"\n",
:clojure.main/triage
{:clojure.error/class java.lang.NullPointerException,
:clojure.error/line 237,
:clojure.error/cause
"Cannot invoke \"clojure.lang.IFn.invoke(Object)\"",
:clojure.error/symbol rewrite-clj.custom-zipper.core/next,
:clojure.error/source "core.cljc",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type java.lang.NullPointerException,
:message "Cannot invoke \"clojure.lang.IFn.invoke(Object)\"",
:at [clojure.zip$branch_QMARK_ invokeStatic "zip.clj" 73]}],
:trace
[[clojure.zip$branch_QMARK_ invokeStatic "zip.clj" 73]
[clojure.zip$next invokeStatic "zip.clj" 236]
[clojure.zip$next invoke "zip.clj" 230]
[rewrite_clj.custom_zipper.core$next invokeStatic "core.cljc" 237]
[rewrite_clj.custom_zipper.core$next invoke "core.cljc" 237]
[rewrite_clj.zip.move$next invokeStatic "move.cljc" 33]
[rewrite_clj.zip.move$next invoke "move.cljc" 28]
[rewrite_clj.zip$next invokeStatic "zip.cljc" 519]
[rewrite_clj.zip$next invoke "zip.cljc" 516]
[clojure.lang.Iterate first "Iterate.java" 47]
[clojure.lang.RT first "RT.java" 692]
[clojure.core$first__5401 invokeStatic "core.clj" 55]
[clojure.core$take_while$fn__5935 invoke "core.clj" 2910]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5419 invokeStatic "core.clj" 139]
[clojure.core$take_while$fn__5935 invoke "core.clj" 2908]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5419 invokeStatic "core.clj" 139]
[clojure.core$drop_while$step__5958 invoke "core.clj" 2976]
[clojure.core$drop_while$fn__5961 invoke "core.clj" 2981]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.LazySeq first "LazySeq.java" 73]
[clojure.lang.RT first "RT.java" 692]
[clojure.core$first__5401 invokeStatic "core.clj" 55]
[clojure.core$first__5401 invoke "core.clj" 55]
[rewrite_clj.zip.findz$find invokeStatic "findz.cljc" 44]
[rewrite_clj.zip.findz$find invoke "findz.cljc" 31]
[rewrite_clj.zip.findz$find_token invokeStatic "findz.cljc" 119]
[rewrite_clj.zip.findz$find_token invoke "findz.cljc" 110]
[rewrite_clj.zip.findz$find_value invokeStatic "findz.cljc" 146]
[rewrite_clj.zip.findz$find_value invoke "findz.cljc" 131]
[rewrite_clj.zip$find_value invokeStatic "zip.cljc" 419]
[rewrite_clj.zip$find_value invoke "zip.cljc" 409]
[antq.upgrade.clojure$upgrade_dep invokeStatic "clojure.clj" 20]
[antq.upgrade.clojure$upgrade_dep invoke "clojure.clj" 13]
[antq.upgrade.clojure$eval6743$fn__6744 invoke "clojure.clj" 36]
[clojure.lang.MultiFn invoke "MultiFn.java" 229]
[antq.upgrade$upgrade_BANG_$fn__3289 invoke "upgrade.clj" 50]
[clojure.core$complement$fn__5686 invoke "core.clj" 1443]
[clojure.core$filter$fn__5911 invoke "core.clj" 2825]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5419 invokeStatic "core.clj" 139]
[clojure.core$dorun invokeStatic "core.clj" 3121]
[clojure.core$doall invokeStatic "core.clj" 3136]
[clojure.core$doall invoke "core.clj" 3136]
[antq.upgrade$upgrade_BANG_ invokeStatic "upgrade.clj" 46]
[antq.upgrade$upgrade_BANG_ invoke "upgrade.clj" 38]
[antq.core$main_STAR_ invokeStatic "core.clj" 255]
[antq.core$main_STAR_ invoke "core.clj" 238]
[antq.core$_main invokeStatic "core.clj" 267]
[antq.core$_main doInvoke "core.clj" 264]
[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]],
:cause "Cannot invoke \"clojure.lang.IFn.invoke(Object)\""}}
Hi,
Just tried out 1.0.2, to fix the bug with upgrading a dependency when there is a git/sha
defined. I've noticed that if antq does the upgrade (--upgrade --force
), then the sha that I put in (to get things started), :git/sha "fb11811"
is replaced with the full sha of the upgrade :git/sha "19c1d310235712240177a09475d5b71420aa7ddb"
.
I believe, antq should just honour what is considered to be sufficent for a short sha
, i.e., 7 characters?
https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection#Short-SHA-1
i.e., if one types in agit log --abbrev-commit
, the sha output is 7 characters long. In the Clojure libraries I've worked with, 7 characters seems to be the default for the sha in the deps.edn (i.e., https://github.com/seancorfield/build-clj/blob/main/deps.edn).
Thank you.
-=david=-
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.