weavejester / codox

Clojure documentation tool
Eclipse Public License 1.0
668 stars 97 forks source link

Crux and codox #192

Open patrick-galvin opened 4 years ago

patrick-galvin commented 4 years ago

I ran into a problem running codox with the latest crux. I assumed it was something to do with the asm 7.1 dependency from rocksdb. I'm not very confident how good the fix is, but it does work for me

{:type java.lang.Exception,
    :message "Could not load codox writer codox.writer.html",
    :at [codox.main$writer$fn__747 invoke "main.clj" 16]}
   {:type clojure.lang.Compiler$CompilerException,
    :message "Syntax error macroexpanding def at (html.clj:66:1).",
    :data
    {:clojure.error/phase :execution,
     :clojure.error/line 66,
     :clojure.error/column 1,
     :clojure.error/source "html.clj",
     :clojure.error/symbol def},
    :at [clojure.lang.Compiler$DefExpr eval "Compiler.java" 470]}
   {:type java.lang.reflect.InvocationTargetException,
    :at
    [sun.reflect.NativeConstructorAccessorImpl
     newInstance0
     "NativeConstructorAccessorImpl.java"
     -2]}
   {:type java.lang.RuntimeException,
    :message "Error creating extended parser class: null",
    :at [org.parboiled.Parboiled createParser "Parboiled.java" 58]}

In the codox project.clj:

Remove

[org.ow2.asm/asm-all "5.0.3"]

Add

[org.parboiled/parboiled-java "1.3.0"]
dcarley commented 3 years ago

I experienced the same problem in a project that uses :managed-dependencies from a shared lein-parent project with the following:

   [org.ow2.asm/asm "7.0"]
   [org.ow2.asm/asm-analysis "7.0"]
   [org.ow2.asm/asm-commons "7.0"]
   [org.ow2.asm/asm-tree "7.0"]
   [org.ow2.asm/asm-util "7.0"]

Excluding asm-all and downgrading parboiled-java didn't work for me. Pinning them within a profile did though:

  :aliases {"docs" ["with-profile" "docs" "codox"]}
  :profiles {:docs {:plugins              [[lein-codox "0.10.7"]]
                    :managed-dependencies [[org.ow2.asm/asm-analysis "5.0.3"]
                                           [org.ow2.asm/asm-tree "5.0.3"]
                                           [org.ow2.asm/asm-util "5.0.3"]
                                           [org.ow2.asm/asm "5.0.3"]]}}