Trying to understand why this build fails, is there a problem with git dependencies? https://app.circleci.com/pipelines/github/cljdoc/builder/50687/workflows/e0c33864-6dae-4c12-9dbb-ec08e7bfc235/jobs/67062 Project: https://github.com/bsless/aero.extensions
Hi Ben! cljdoc downloads your jar from Clojars and resolves dependencies as per pom.xml
Looking at the logs it looks like it can't find the aero.alpha.core namespace. I think this is because you depend on it only in deps.edn and not in pom.xml
If you update the pom.xml to contain the respective dependency it should work. That does require the dependency to be available in a Maven repo though.
Ah, I see Thanks!
Hope that helps / will work for you. It would be nice to fully support deps.edn but given that API docs on cljdoc are always versioned its a bit complicated
Not sure I see why that is so
I assume I'd have to not just update my pom but use a mvn version for aero as well?
deps.edn doesn't have a version / is usually used via git so it's not "tagged" in a sense. Everything in cljdoc is tagged to a version. Does that make more sense? I'm a bit tired so maybe this explanation isn't the best 😁
And yeah you'd have to use a maven version of aero as well as you can't specify git coordinates in pom.xml
fwiw, we did a bunch of thinking for supporting libs from sources https://github.com/cljdoc/cljdoc/issues/459
Seems like it doesn't cover clojars published libs with git dependencies then. It's not critical, thanks anyway 🙂
oh that’s not something that clojars supports
worked fine for my lib just now 🤔
you're saying it will break for lein users?
damn, okay, using the maven dep
I’m probably missing some detail of what you are doing (or maybe have not had enough coffee yet!) but clojars is maven based and works with jars and poms. I do have a foggy memory of the now deprecated depstar bringing source code from git dep sources into the jars it built… are you using depstar to build your jar?
No, but it's probably a bad idea to use a git dep in a library then publish to clojars.
When discovering a lib’s public api, cljdoc actually loads all namespaces not marked with :no-doc in the lib jar. Cljdoc hit a ns in your jar that it could not load. Regular users of your jar would experience the same problem.
That's very good to know, thanks!
Happy to help! Drop by anytime you get stuck or have more questions!