clj-commons / manifold

A compatibility layer for event-driven abstractions
1.02k stars 106 forks source link

Add deps.edn to satisfy Deps CLI manifest requirement for :git/url dependency #191

Closed theronic closed 2 years ago

theronic commented 3 years ago

Allows adding deps to use specific commits on Github not yet on Clojars that fix specific issues, e.g.:

{:deps {aleph/manifold {:git/url    "https://github.com/aleph-io/manifold.git"
                        :sha        "aec26d90c4c0eeb71394c416821d0c5fe8bb1fc9"}}}

It's either this, or a pom.xml file as manifest. Annoyingly, it means you have to maintain two lists of deps. I've been gradually moving most of my projects away from project.clj toward deps.edn.

KingMob commented 2 years ago

@theronic Sorry to take so long to get to you, since taking over after Zach.

I'm actually not averse to this sort of change, but not at the cost of losing functionality. Plus, the perennial curse of tools.deps is you get to reinvent half of what Leiningen does.

Some of what's in the project.clj is irrelevant now, like the plugins, cljfmt, codox, and (probably) the jvm-opts.

However, I wouldn't want to lose our test suite/selector setup, and I'd like to see a dev alias.

Even worse, I'd need to see how well clj-commons supports deploying with tools.deps. If they don't, that might be a lot of work just to replicate everything we already have, I'm afraid.

I know Zach cut a release with your fix a few weeks after this PR; do you still need this?

KingMob commented 2 years ago

I'm closing this for now. The work to switch over to tools.deps is too high for me, relative to the benefit, since Maven coordinates work, and I'm trying to cut more frequent releases. If people really need specific SHAs, we can revisit this.