This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-09-09
Channels
- # announcements (5)
- # beginners (53)
- # clj-kondo (4)
- # cljdoc (3)
- # cljs-dev (11)
- # cljsjs (1)
- # clojure (59)
- # clojure-europe (15)
- # clojure-italy (6)
- # clojure-nl (9)
- # clojure-spec (22)
- # clojure-uk (26)
- # clojurescript (16)
- # clojutre (6)
- # cursive (27)
- # datomic (34)
- # duct (1)
- # figwheel-main (2)
- # fulcro (12)
- # graphql (14)
- # jackdaw (9)
- # jobs (1)
- # kaocha (4)
- # luminus (1)
- # off-topic (11)
- # pathom (1)
- # pedestal (2)
- # re-frame (6)
- # reagent (10)
- # ring-swagger (34)
- # shadow-cljs (47)
- # spacemacs (21)
- # sql (3)
- # tools-deps (37)
- # uncomplicate (11)
- # vim (17)
@seancorfield Ah, yes, thanks - I actually include that already in option #1
did you look at the clojure script? you can see everything included in the hash now
seems like matching that is best for matching behavior
@alexmiller Did you say CLJ_CONFIG
support might go away? Is there an alternative in mind where a (large) project/monorepo may want a "base" deps.edn
file and then to have a separate deps.edn
for each subproject?
no, I didn't say that
Ah, then I perhaps misunderstood you 🙂
more likely to add something to insert more
OK. Having four deps.edn
files being considered would be fine too. System, user, (project/repo -- new!), (sub)project/current dir.
(I mostly don't care about the first two in this case -- I really care about the "third" and fourth 🙂 )
I did look at the script, but a while ago. IIRC it doesn’t include deps file contents, only the config paths, and definitely not the contents of transitive local roots.
yeah it's just the paths and aliases and the -Sdeps contents
Actually, does the -nt
test take the file timestamps into account too? My google-bash-fu is failing me.
"newer than"
so the "stale" calculation is separate from the hash
In my case I don’t need a location (i.e. what you’re using the hash for), I just need the staleness test.
so yeah, that's largely timestamp based
Ok, thanks. In my case it’s relatively easy to do the full transitive contents check, so I’ll stick with that.
well, and assuming the hash finds there is a cp to use
Actually, one other question I had: since the system deps file is now read from a resource, am I correct in thinking that for recent versions I only need to pass the user config, and not both?
I looked at the code a while back, and it looked like the resource will always be put first in the list, so if I also pass the system deps file then that will override the one from the resource, but will presumably be the same?
Is there any way to tell from e.g. -Sdescribe
whether I need to pass the system file or not? The path still appears in the config-files
list.
@cfleming Looks like you could check :install-dir
against the first path in :config-files
-- but I will note that t.d.a. has an API for getting the deps.edn
files that returns just the user + project level ones (because it has the system one baked in).
Interesting. It’s potentially tricky to call that API ahead of time when delegating to the CLI.
it wouldn't hurt to include both
Is there a reason that t.d.a and tools.gitlibs print progress information (“Downloading: xxx” and “Checking out: xxx”) to stderr?
so you can shunt it off if you don't want to see it
normally it's silent on stdout unless you do something that expects a printed result, like -Stree or -Spath etc