This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-04-21
Channels
- # announcements (12)
- # aws (1)
- # babashka (82)
- # beginners (89)
- # calva (8)
- # cider (20)
- # clj-kondo (1)
- # clojars (9)
- # clojure (120)
- # clojure-australia (3)
- # clojure-europe (14)
- # clojure-france (24)
- # clojure-germany (3)
- # clojure-italy (16)
- # clojure-nl (1)
- # clojure-spec (3)
- # clojure-uk (22)
- # clojurescript (26)
- # cursive (38)
- # datascript (1)
- # emacs (10)
- # events (1)
- # helix (7)
- # jackdaw (5)
- # jobs-discuss (37)
- # lambdaisland (10)
- # malli (20)
- # meander (2)
- # off-topic (15)
- # pathom (42)
- # quil (1)
- # re-frame (38)
- # react (2)
- # reitit (2)
- # reveal (9)
- # rewrite-clj (3)
- # ring (5)
- # shadow-cljs (84)
- # spacemacs (1)
- # tools-deps (23)
- # vim (8)
- # vscode (1)
When I execute the following in a shell:
clojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}}' -m antq.core
I see this warning:
WARNING: When invoking clojure.main, use -M
Is there a way to remove this warning? or is there a problem with the above invocation?add -M in the front of -m
-M -m antq.core
or call antq.core/-main directly using -X
-X antq.core/-main
-X is not intended to be used with -main functions since the arg parsing is processed differently
thanks @U04V4KLKC
clojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}}' -M -m antq.core
this worked@U04V4KLKC Just to follow on from Michiel’s point and perhaps clarify for @U051V5LLP: -X
invokes a function passing a single hash map as an argument but -main
expects a sequence of zero or more strings. As long as -main
doesn’t do anything with its & args
, you can get away with calling it via -X
but that’s an accident of implementation rather than an intended usage.
Hi all, I was hoping to use node foreman launch a couple of simultaneous clojure
processes in development, but it seems there's some concurrency issues when working with a project with remote git coordinates. If two clojure processes try to clone/checkout the same git coordinate concurrently, they run into problems. The workaround is to resolve concurrency by manually launching processes, giving one process a chance to locally clone git first. My question is: is this a reasonable expectation of the clojure deps tooling? Or might this be considered an issue?
are you using the latest version of clojure?
prior to 1.10.3.814, we were using jgit. as of 1.10.3.814, we're shelling out to git, so these are completely different tool sets with different behaviors. when shelling out to git, you're really asking, can git support multiple concurrent clones/checkouts and the answer is generally yes due to how git uses lock files
ok, so my follow up would be more precisely you are seeing the issue - is it in git clone
of the repo or getting the working tree (it actually doesn't use git checkout
, but rather git worktree
)
and also what git --version
you're on
you can set GITLIBS_DEBUG=true
to see all the commands being run
if that helps narrow it down
when you see "problems", what does that look like?
Thanks @alexmiller, I believe I've seen more than one related error message, sometimes related to a git lock file, other times a error: cannot lock ref
would love to see those. might be something I can detect/retry or otherwise work with
Ok, I can try to reproduce a number of those messages with the GITLIBS_DEBUG
set, is this place to follow up or would you prefer somewhere else?
@alexmiller, thanks, I've followed up here: https://ask.clojure.org/index.php/10508/concurrency-issues-launching-multiple-process-coordinates