This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-09-17
Channels
- # announcements (2)
- # aws (7)
- # beginners (46)
- # cider (15)
- # clj-kondo (24)
- # cljs-dev (3)
- # clojure (46)
- # clojure-dev (34)
- # clojure-europe (7)
- # clojure-italy (7)
- # clojure-nl (10)
- # clojure-norway (15)
- # clojure-spec (5)
- # clojure-uk (42)
- # clojuredesign-podcast (1)
- # clojurescript (79)
- # clr (3)
- # core-async (1)
- # cursive (45)
- # data-science (1)
- # datomic (4)
- # fulcro (17)
- # funcool (14)
- # gorilla (2)
- # graphql (30)
- # jackdaw (5)
- # jobs-discuss (8)
- # joker (4)
- # lein-figwheel (1)
- # off-topic (48)
- # pedestal (26)
- # re-frame (36)
- # reagent (18)
- # reitit (6)
- # remote-jobs (4)
- # shadow-cljs (115)
- # tools-deps (62)
- # vim (12)
Kind of. It seems like the modules should be tied to the branch. Take the following situation: if I have branch A with Module1 and branch B with Module2 and I'm in branch A. When I switch to branch B, Module1 will be removed, as expected. When I switch back to branch A, I need to add Module1 again.
Just checking - you have your clojure-deps.xml
file checked in, right? So that will be updated when you switch branches?
That’s .idea/clojure-deps.xml
, which is the config file telling deps which projects are registered with the IDE.
Yes, because otherwise there’s no way for Cursive to know which projects are registered in each branch.
If you do that, then I think your modules will be correctly updated when you switch.
There’s a JetBrains article about this here: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems
Lein/Deps are in the same category as Gradle or Maven in that discussion, and I’d recommend excluding the same files for them too.
have a convention in libraries that simple keywords are used by the lib, client-specific keys should be qualified. would help differentiate those.
When a module fails to resolve, it removes/disables all modules in the projects. I got the below exception after adding a dependency which caused most of my modules to get removed. It's a bit jarring to have that happen. Changing the dep version to one that actually exists brings the modules back though.
At a minimum the modules that resolve correctly should appear. Unfortunately Deps is a bit all-or-nothing here, I just get a “something didn’t work” exception for a given project.
Yeah, the other modules stay. This was a "core" library (e.g., a logger) which basically everything depends on.
Ah, ok. I’m not sure I can do much about that, since if there’s an exception I get no dependency information back from deps at all. What I might be able to do is at least add the modules and its source paths etc, and somehow show the error message against the module in the toolwindow.
Possibly, I’d have to check whether that’s possible, but it sounds like the best idea.
Yeah, looking at the code, tools.deps just aborts the whole resolve when it encounters a problem.
That probably makes sense in general. If something can’t be resolved and you were to continue, you may get a strange result.
This is what this looks like now. After resolution you’ll get a single notification with all the resolution errors found (rather than one notification per error as previously). The module will still appear and source dirs etc will be correct, it’ll just have no deps. You’ll be able to see the error in the toolwindow as shown.
I’d like to try out the new intelliJ and cursive builds - can I run them in parallel with my old 2018.3 installation? (macOS)
When you drag new version to Applications select Keep Both and you will have side by side Ideas
https://www.jetbrains.com/idea/nextversion/ 2019.3 is the only EAP I can find - am I missing something?
I have mixed leiningen and deps modules in my project - I can’t seem to make repl configs for the deps modules, only the leiningen modules appear.
This is what this looks like now. After resolution you’ll get a single notification with all the resolution errors found (rather than one notification per error as previously). The module will still appear and source dirs etc will be correct, it’ll just have no deps. You’ll be able to see the error in the toolwindow as shown.