2024年Clojure调查问卷!中分享您的想法。

欢迎!请参阅关于页面以获得有关该功能的更多信息。

0
tools.deps
当解析使用{{:deps/manifest :pom}}的{{:git/url}}依赖项时,得到的{{:paths}}的向量是一个列表,其中第一个条目由依赖项pom的{{sourceDirectory}}组成。由于{{sourceDirectory}}(最可能是)相对于依赖项,而这个路径被放置在当前目录下(也称为依赖项目),因此该路径不存在。

以下示例通过[{{coord-paths}}|https://github.com/clojure/tools.deps.alpha/blob/433965a532e9f2433edcb42d783d5e20f69cd01a/src/main/clojure/clojure/tools/deps/alpha/extensions/pom.clj#L99]来使展示更清晰
{code:none}
user=>(coord-paths 'some/dependency
                       {:deps/root "/Users/user/.gitlibs/libs/some/dependency/hash" :deps/manifest :pom}
                       :pom
                       {:mvn/repos {"central" {:url "https://repo1.maven.org/maven2/"}
                                    "clojars" {:url "https://clojars.org/repo/"}}})

("/path/to/dependent/project/${project.basedir}/src/main/java"
 "/Users/user/.gitlibs/libs/some/dependency/hash/src/main/clojure")


这里{{project.basedir}/src/main/java}}是默认值,当在pom.xml中没有指定{{sourceDirectory}}时。
明显,这个路径,虽然能找到它的路径,但不是有效的。如果pom.xml中存在一个(相对)路径,列表的第一个条目可能类似于{{"/path/to/dependent/project/src/main/clojure"}},这种路径可能存在,但并非依赖的源路径。

请注意,{{coord-paths}}的输出是一个序列,而不是一个向量。

1回答

0
参考:[https://clojure.atlassian.net/browse/TDEPS-96](https://clojure.atlassian.net/browse/TDEPS-96)(由alex+import报告)
...