Fwd: How to use Autodoc?

55 views
Skip to first unread message

Ambrose Bonnaire-Sergeant

unread,
Dec 6, 2018, 11:05:46 AM12/6/18
to cloju...@googlegroups.com
Hi,

I'm having trouble generating autodoc, but I see plenty of contribs
successfully using it. Can people share how they use autodoc?
And perhaps how they might use it on core.typed.analyzer.jvm?

I've tried `mvn clojure:autodoc` with autodoc 1.1.2, but that errors:

Exception in thread "main" java.lang.IllegalArgumentException: No matching method found: startsWith for class java.lang.Character, compiling:(/var/folders/zd/flyhvz217sb2w9v66ktw99p40000gn/T/autodoc7668998522419549962.clj:2:1)
at clojure.lang.Compiler.load(Compiler.java:7526)
at clojure.lang.Compiler.loadFile(Compiler.java:7452)
at clojure.main$load_script.invokeStatic(main.clj:278)
at clojure.main$script_opt.invokeStatic(main.clj:338)
at clojure.main$script_opt.invoke(main.clj:333)
at clojure.main$main.invokeStatic(main.clj:424)
at clojure.main$main.doInvoke(main.clj:387)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: No matching method found: startsWith for class java.lang.Character
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:53)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at autodoc.autodoc$clean_params$fn__4474$iter__4475__4479$fn__4480.invoke(autodoc.clj:64)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:528)
at clojure.lang.LazilyPersistentVector.create(LazilyPersistentVector.java:44)
at clojure.core$vec.invokeStatic(core.clj:377)
at clojure.core$vec.invoke(core.clj:367)
at autodoc.autodoc$clean_params$fn__4474.invoke(autodoc.clj:63)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invokeStatic(core.clj:659)
at clojure.core$update_in$up__6562.invoke(core.clj:6105)
at clojure.core$update_in.invokeStatic(core.clj:6106)
at clojure.core$update_in.doInvoke(core.clj:6092)
at clojure.lang.RestFn.invoke(RestFn.java:445)
at autodoc.autodoc$clean_params.invoke(autodoc.clj:62)
at autodoc.autodoc$autodoc.doInvoke(autodoc.clj:87)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at autodoc.autodoc$autodoc.invoke(autodoc.clj:76)
at user$eval19.invokeStatic(autodoc7668998522419549962.clj:2)
at user$eval19.invoke(autodoc7668998522419549962.clj:2)
at clojure.lang.Compiler.eval(Compiler.java:7062)
at clojure.lang.Compiler.load(Compiler.java:7514)

I've also tried using a deps.edn alias:
           :autodoc
           {:extra-deps
            {autodoc/autodoc {:mvn/version "1.1.2"}}
            :main-opts ["-m" "autodoc.autodoc"]}

but that doesn't work out either

Ambroses-MBP:core.typed.analyzer.jvm ambrose$ clj -Aautodoc
"java" "-cp" "/Users/ambrose/Projects/core.typed-dev/core.typed.analyzer.jvm/src:/Users/ambrose/Projects/core.typed-dev/core.typed.analyzer.jvm/./src:/Users/ambrose/Projects/core.typed-dev/core.typed.analyzer.jvm/./target/classes:/Users/ambrose/Projects/core.typed-dev/core.typed.analyzer.jvm/.:/Users/ambrose/.m2/repository/autodoc/autodoc-collect/1.1.4/autodoc-collect-1.1.4.jar" "clojure.main" "-e" "(use 'autodoc-collect.collect-info) (collect-info-to-file \".\" \"src\" \"clojure.core.typed.analyzer:clojure.core.typed.analyzer.env:clojure.core.typed.analyzer.js:clojure.core.typed.analyzer.js.utils:clojure.core.typed.analyzer.jvm:clojure.core.typed.analyzer.jvm.utils:clojure.core.typed.analyzer.passes:clojure.core.typed.analyzer.passes.add-binding-atom:clojure.core.typed.analyzer.passes.beta-reduce:clojure.core.typed.analyzer.passes.js.analyze-host-expr:clojure.core.typed.analyzer.passes.js.annotate-tag:clojure.core.typed.analyzer.passes.js.infer-tag:clojure.core.typed.analyzer.passes.js.validate:clojure.core.typed.analyzer.passes.jvm.analyze-host-expr:clojure.core.typed.analyzer.passes.jvm.classify-invoke:clojure.core.typed.analyzer.passes.jvm.fix-case-test:clojure.core.typed.analyzer.passes.jvm.infer-tag:clojure.core.typed.analyzer.passes.jvm.validate:clojure.core.typed.analyzer.passes.uniquify:clojure.core.typed.test.analyzer-jvm\" \"\" \"nil\" \"/var/folders/zd/flyhvz217sb2w9v66ktw99p40000gn/T/collect-8622924994633571791.clj\" \"nil\")"

Exception in thread "main" java.lang.RuntimeException: EOF while reading
at clojure.lang.Util.runtimeException(Util.java:221)
at clojure.lang.LispReader.read(LispReader.java:258)
at clojure.lang.LispReader.read(LispReader.java:206)
at clojure.lang.LispReader.read(LispReader.java:200)
at clojure.core$read.invokeStatic(core.clj:3758)
at clojure.core$read.invokeStatic(core.clj:3733)
at clojure.core$read.invokeStatic(core.clj:3733)
at clojure.core$read.invokeStatic(core.clj:3733)
at clojure.core$read.invoke(core.clj:3733)
at autodoc.collect_info_wrapper$do_collect.invoke(collect_info_wrapper.clj:95)
at autodoc.autodoc$build_html.doInvoke(autodoc.clj:26)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.core$apply.invokeStatic(core.clj:657)
at clojure.core$apply.invoke(core.clj:652)
at autodoc.autodoc$autodoc.doInvoke(autodoc.clj:102)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at autodoc.autodoc$autodoc.invoke(autodoc.clj:76)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invokeStatic(core.clj:659)
at clojure.core$apply.invoke(core.clj:652)
at autodoc.autodoc$execute.doInvoke(autodoc.clj:116)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invokeStatic(core.clj:657)
at clojure.core$apply.invoke(core.clj:652)
at autodoc.autodoc$_main.doInvoke(autodoc.clj:120)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.core$apply.invokeStatic(core.clj:657)
at clojure.main$main_opt.invokeStatic(main.clj:317)
at clojure.main$main_opt.invoke(main.clj:313)
at clojure.main$main.invokeStatic(main.clj:424)
at clojure.main$main.doInvoke(main.clj:387)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.main.main(main.java:37)

Any help appreciated.

Thanks,
Ambrose

Alex Miller

unread,
Dec 6, 2018, 11:36:03 AM12/6/18
to cloju...@googlegroups.com
Hey Ambrose, 

We have a separate project that can generate autodoc for a project and that's how the various contribs have published autodoc. I am still in the progress of getting it to work in a customized automated per-project way. The collector is pretty good but the publisher side could really use a lot of love. 

I just spun it up for this project:

Alex 


--
You received this message because you are subscribed to the Google Groups "Clojure Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure-dev...@googlegroups.com.
To post to this group, send email to cloju...@googlegroups.com.
Visit this group at https://groups.google.com/group/clojure-dev.
For more options, visit https://groups.google.com/d/optout.

Ambrose Bonnaire-Sergeant

unread,
Dec 6, 2018, 12:56:58 PM12/6/18
to cloju...@googlegroups.com
Hi Alex,

Cool! I can volunteer some time if/when this other project is available.

Thanks,
Ambrose
Reply all
Reply to author
Forward
0 new messages