I keep running into a build problem and I suspect it's a caching issue? I pushed a release to clojars, and triggered a build on cljdoc. It failed the analysis because I had accidentally committed a file full of sketches. I removed the file, tagged and created a new release (twice), but I keep getting the same error, even though the file is not present.
Build: https://cljdoc.org/builds/85272
Tag: https://github.com/cjohansen/replicant/tree/v2025.01.03.2
CircleCI build: https://app.circleci.com/pipelines/github/cljdoc/builder/58304/workflows/d0dbf84f-7116-466b-b201-30fb8faf940c/jobs/74679
The error complains about analysis errors in replicant.notes, which isn't present in Github for this tag. I can't tell from the CircleCI build page what version of the code it's working with.
Can I debug the build without pushing a bunch of stuff to clojars? 😅
Hi @christian767! After I get a little more coffee in me, I’ll take a peek!
Thanks for providing those links in your question, very thoughtful of you! lisphug Cljdoc sees the jar as the source of truth for code analysis. If I grab the replicant jar:
wget
And then take a peek at its contents:
$ unzip -l replicant-2025.01.03.2.jar
Archive: replicant-2025.01.03.2.jar
Length Date Time Name
--------- ---------- ----- ----
0 2025-01-03 08:41 clj-kondo.exports/no.cjohansen/replicant/
0 2025-01-03 08:41 clj-kondo.exports/no.cjohansen/
0 2025-01-03 08:41 clj-kondo.exports/
202 2025-01-03 08:41 clj-kondo.exports/no.cjohansen/replicant/config.edn
0 2025-01-03 08:41 clj-kondo.exports/no.cjohansen/replicant/replicant/
1440 2025-01-03 08:41 clj-kondo.exports/no.cjohansen/replicant/replicant/defalias.clj
0 2025-01-03 08:41 replicant/
4070 2025-01-03 08:41 replicant/alias.cljc
64 2025-01-03 08:41 replicant/env.cljs
703 2025-01-03 08:41 replicant/transition.cljc
1665 2025-01-03 08:41 replicant/vdom.cljc
7686 2025-01-03 08:41 replicant/dom.cljs
37185 2025-01-03 08:41 replicant/core.cljc
6439 2025-01-03 08:41 replicant/mutation_log.cljc
1943 2025-01-03 08:41 replicant/assert.cljc
4055 2025-01-03 08:41 replicant/string.cljc
57 2025-01-03 08:41 replicant/dom.clj
1067 2025-01-03 08:41 replicant/hiccup.cljc
2142 2025-01-03 08:41 replicant/hiccup_headers.cljc
735 2025-01-03 08:41 replicant/protocols.cljc
1559 2025-01-03 08:41 replicant/env.clj
1324 2025-01-03 08:41 replicant/console_logger.cljc
3813 2025-01-03 08:41 replicant/asserts.cljc
2024 2025-01-03 08:41 replicant/notes.clj
--------- -------
78173 24 files
I can see replicant/notes.clj is in the jar.
If you still want to include replicant/notes.clj in your jar, but want cljdoc to ignore it (assuming it is not referenced from any other namespace in your jar), you can add no-doc https://github.com/cljdoc/cljdoc/blob/master/doc/userguide/for-library-authors.adoc#declaring-your-public-api.
If you want to try cljdoc API analysis locally, you can run https://github.com/cljdoc/cljdoc-analyzer yourself.
To fully preview your docs (this is admittedly currently heavy/awkward, but I often do this for my libs), you can https://github.com/cljdoc/cljdoc/blob/master/doc/running-cljdoc-locally-author.adoc.
Happy to answer any follow-up questions if you have any.Aha, I see. Thanks! The file must still be present on disk in the checkout I run the build from then 🤦♂️
Works perfectly now 👍 😊
Hoorah! Glad you are sorted out!