This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-08-17
Channels
- # announcements (13)
- # beginners (56)
- # brompton (1)
- # cider (2)
- # cljsrn (10)
- # clojure (369)
- # clojure-australia (4)
- # clojure-boston (1)
- # clojure-europe (28)
- # clojure-nl (1)
- # clojure-spec (1)
- # clojure-uk (18)
- # clojurescript (26)
- # data-science (2)
- # datahike (4)
- # datalog (2)
- # datasplash (6)
- # datomic (9)
- # events (1)
- # kaocha (4)
- # macro (1)
- # malli (22)
- # meander (40)
- # membrane (30)
- # music (1)
- # nbb (3)
- # news-and-articles (3)
- # off-topic (12)
- # practicalli (1)
- # re-frame (19)
- # remote-jobs (1)
- # sci (22)
- # shadow-cljs (15)
- # spacemacs (4)
- # tools-deps (40)
- # xtdb (26)
tried a brew upgrade today:
% brew upgrade clojure/tools/clojure
==> Upgrading 1 outdated package:
clojure/tools/clojure 1.10.3.933 -> 1.10.3.943
==> Upgrading clojure/tools/clojure
1.10.3.933 -> 1.10.3.943
==> Downloading
Already downloaded: /Users/ikoszo/Library/Caches/Homebrew/downloads/5c6b0abbbfd924d4e8b2057a3a9f89f28760bf1ef52d1467abee7d379fa0737f--clojure-tools-1.10.3.943.tar.gz
Error: An exception occurred within a child process:
NoMethodError: undefined method `path' for nil:NilClass
Did you mean? paths
I think someone else reported this somewhere - what mac os are you on?
I think it's something in brew itself
yeah, this same error was reported last week on macOS 12.0 beta
can you run brew doctor
?
seems like often this error occurs if xcode is out of date
according to the googles
xcode-select --install
Is there a way to specify a subdirectory in a git library in my deps.edn
? I.e. the pom.xml
and src
dir are not in the root of the git repo.
Optional key :deps/root
Specifies the relative path within the root to search for the manifest file
New prerelease of Clojure CLI version 1.10.3.949 is now available. The only change in this is an update to all deps (aws api, maven resolver, maven core). I did find one pretty glaring breaking regression in the latest maven core which I suspect will be rolled back in the next release, but it's patched around in tools.deps. One other notable change is that the latest maven core fixes a lot of concurrency issues that were introduced in the prior version (which does coincide with our increase in seeing those issues with the Clojure CLI). So, hopefully, this is better behaved in that respect. Anyways, if anyone wants to try it out, would be grateful for any reports.
I started looking into what it would take to add lein project.clj manifest support to tools.deps.alpha and wanted to see what might or might not be acceptable w/r/t adding additional deps: 1. OK to pull in leiningen-core and use its project.clj reading code? 2. better to reimplement just enough project.clj reading in tools.deps.alpha to get what we need? 3. don't work on this right now because reasons? :)
2. unsure what the effort/reach of doing this without 1 yields
yeah. it looks like there is potentially a decently-small subset of the project.clj reading code we could copy from leiningen-core b/c we don't need / want e.g. profiles support, etc.
the impl should look like clojure.tools.deps.alpha.extensions.deps - that's basically the same set of extension methods that need to be implemented (plus adding the manifest-type detector at the top of clojure.tools.deps.alpha.extensions)
yep, makes sense
@cap10morgan should be possible to develop somthing like that:
deps.edn
{:aliases {:lein {:deps {...lein-deps-connect ...} :fn lein-deps-connect}}}
Then you run clj -X:lein uberjar
and it will generate an uberjar following project.clj
specthat's not quite what I'm trying to do
I'm trying to add support to tools-deps so that you can specify a lein-only dependency (most often as a git lib) and it will read from the project.clj (vs. needing to add a pom.xml to the repo)
yep 🙂
@alexmiller what is the top level repo I need to build a clojure
command w/ my modified tools.deps.alpha?
https://github.com/clojure/brew-install is what I want I think
the easiest way is to actually NOT do that
instead, modify your which clojure
in the line that starts tools_cp="
to include at the beginning /path/to/your/tools.deps.alpha/src/main/clojure:
then your own tools.deps source is hooked into your existing clj
(make sure to use -Sforce
to ensure you're triggering classpath gen)
ah, beautiful. thanks!
Got a first basic cut at project.clj manifest support working: https://clojure.atlassian.net/browse/TDEPS-204