cljdoc

cjohansen 2025-01-03T09:11:58.613439Z

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? 😅

✅ 1
lread 2025-01-03T12:27:52.196999Z

Hi @christian767! After I get a little more coffee in me, I’ll take a peek!

👍 1
lread 2025-01-03T12:58:14.904699Z

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.

cjohansen 2025-01-03T13:09:13.239369Z

Aha, I see. Thanks! The file must still be present on disk in the checkout I run the build from then 🤦‍♂️

cjohansen 2025-01-03T13:16:55.664589Z

Works perfectly now 👍 😊

lread 2025-01-03T13:19:40.315789Z

Hoorah! Glad you are sorted out!