Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

clojuredocs throws exception in lein2 preview3 #525

Closed
jafingerhut opened this Issue Apr 13, 2012 · 8 comments

Comments

5 participants
Contributor

jafingerhut commented Apr 13, 2012

It was working in preview2, I believe.

user=> (clojuredocs filter)
CompilerException java.lang.RuntimeException: java.lang.ClassNotFoundException: reply.initialization, compiling:(NO_SOURCE_PATH:1)

Tested on Mac OS X 10.6.8 + Oracle/Apple JDK 1.6.0_31 after an upgrade from lein2 preview2 to preview3.

Same result on Ubuntu 11.04 + Oracle JDK 1.7.0_02 with a fresh lein2 preview3 install.

Collaborator

michaelklishin commented Apr 13, 2012

It works for me with preview3 on OS X with OpenJDK 7.

Collaborator

dakrone commented Apr 13, 2012

It works for me also, are you running it from within a project?

Contributor

jafingerhut commented Apr 13, 2012

I was running it from within a new project created using lein2 new lein2-try-proj, in case that makes a difference.

Collaborator

dakrone commented Apr 13, 2012

Okay, I can reproduce it by creating a new project and using the repl from within the project.

Collaborator

trptcolin commented Apr 14, 2012

I think it makes sense from a reply perspective - the reply.initialization/clojuredocs-available? delay reference from lazy-clojuredocs.

user=> (ns reply.initialization)
nil
reply.initialization=> (in-ns 'user)
#<Namespace user>
user=> (clojuredocs map)
CompilerException java.lang.RuntimeException: No such var: reply.initialization/clojuredocs-available?, compiling:(NO_SOURCE_PATH:1) 

So I think the fix is probably to send that delay across nrepl so it's accessible. I've opened a ticket there for that: trptcolin/reply#53

The weird thing is that running through the same scenario off master from source seems to work fine, even in the new-project situation. I'd like to figure out why that is, for sure. Do the classloaders work differently from source and from the jar?

Collaborator

trptcolin commented Apr 15, 2012

OK, I have what I think is a solution for the direct cause of this issue (trptcolin/reply@b404cb5), but I still want to know why it doesn't surface when running from source.

Otherwise, I guess I need to figure out how to build the release jar - is it just lein uberjar from the main directory?

trptcolin added a commit that referenced this issue Apr 17, 2012

Bump reply, nREPL, and cd-client
Add paren matching, fix multiline garbage, add printing after value
returned, add cdoc alias, clarify help output, fix lazy-clojuredocs
in new project, avoid nesting agents, and remind me that I need to
finally create a changelog for reply.

refs #525
Collaborator

trptcolin commented Apr 17, 2012

I tried this out from an uberjar, and things worked. Let me know how this goes for you guys.

Owner

technomancy commented Apr 18, 2012

I can reproduce this from a source checkout if I check the 2.0.0-preview3 tag out, but not on master. Not sure why you wouldn't be able to repro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment