This PR makes some improvements to the tools.deps support, namely:
Fixes a bug that prevented the use of manifest-root config for deps.edn projects
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.
This PR makes some improvements to the tools.deps support, namely:
manifest-root
config for deps.edn projects:local/root
deps.edn config when it is a relative reference to another project in the same repositoryIt also changes the way
deps.edn
git dependencies are named. Before thegroup
andartifact
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.