cljdoc / cljdoc-analyzer

Get resolved metadata from Clojure and ClojureScript projects
Eclipse Public License 2.0
9 stars 7 forks source link

Analysis of POM-only artifacts fails #100

Open xsc opened 11 months ago

xsc commented 11 months ago

See this build: https://app.circleci.com/pipelines/github/cljdoc/builder/46360/workflows/bf4aca79-e747-4b37-9877-2f70ad3f4c7b/jobs/62735

2023-10-04 09:12:09,207 ERROR cljdoc-analyzer.runner - Could not find artifact com.kohlschutter.junixsocket:junixsocket-core:jar:2.8.0 in central (https://repo1.maven.org/maven2/)
2023-10-04 09:12:09,207 ERROR cljdoc-analyzer.runner - STDOUT
 nil
2023-10-04 09:12:09,207 ERROR cljdoc-analyzer.runner - STDERR
 nil

junixsocket-core is a POM-only dependency of unixsocket-http (whose analysis fails in the above build). Thus, there is no JAR in the Maven repository.

This is how the dependency is declared in project.clj:

[com.kohlschutter.junixsocket/junixsocket-core "2.8.0" :extension "pom"]
lread commented 11 months ago

Hi @xsc! Nice to see you here!

The cljdoc analyzer uses tools.deps to resolve dependencies. Unlike leiningen, it does not yet support pom-only deps. See TDEPS-202.

Our current suggested workaround is the same one tools.deps suggests: list the referenced pom-only deps individually.

lread commented 11 months ago

Also, if you haven't already, please feel free to upvote!

xsc commented 11 months ago

@lread Thanks for the response, and sorry that I missed an existing issue!

lread commented 11 months ago

My pleasure, and no problem at all.

There is a tentative patch in TDEPS-202, I suppose we could evaluate using this in cljdoc-analyzer.