reifyhealth / lein-git-down

A Leiningen plugin for resolving dependencies from Git
MIT License
82 stars 6 forks source link

PF-604 : Improvements for tools.deps #42

Closed manderson202 closed 3 years ago

manderson202 commented 4 years ago

This PR makes some improvements to the tools.deps support, namely:

  1. Fixes a bug that prevented the use of manifest-root config for deps.edn projects
  2. Supports the :local/root deps.edn config when it is a relative reference to another project in the same repository

It also changes the way deps.edn git dependencies are named. Before the group and artifact would be the github coordinates. This allowed for easy tracking of the location as known by lein-git-down, but did not necessarily align with how other projects would reference these dependencies and could create classpath issues as the Maven resolver would not recognize them as the same project for version resolution.

The new version is an improvement, but does introduce a small edge case where if you have a project with a dependency on a deps.edn project and that deps.edn project has a dependency on another deps.edn project via git integration or via local integration (eg: a transitive deps.edn reference that is not maven) and you delete the local .m2 cache for the child but not the parent, then the transitive dep will not be resolved b/c the parent pom references its "maven" coords (the project name as both group and artifact) instead if its github coords (unless they are the same of course). Given this should be rare and could be resolved by removing the parent .m2 cache, it will be slotted for a future fix to close this edge case.