Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleaning non-project-related .class files breaks protocol usage #141

Closed
mtyaka opened this issue Dec 4, 2010 · 3 comments
Closed

Cleaning non-project-related .class files breaks protocol usage #141

mtyaka opened this issue Dec 4, 2010 · 3 comments

Comments

@mtyaka
Copy link
Collaborator

mtyaka commented Dec 4, 2010

Uberjars created with leiningen 1.4.0 fail to run in some cases. See example1 and example2.

Leiningen 1.4.0 removes transitive AOT compiled class files and it seems that when removed transitive class files include classes that correspond to protocols, uberjars won't run.

I am not sure whether this is a bug in leiningen or clojure.

@technomancy
Copy link
Owner

Leiningen is working around a bug in Clojure (CLJ-322) by deleting the .class files. I'm not sure if the fact that it doesn't fall back to the non-AOT'd version of the protocol is a bug or an intentional shortcoming, but you can work around it by setting :keep-non-project-classes to true.

@technomancy
Copy link
Owner

Mailing list thread inquiring about possible solutions: http://groups.google.com/group/clojure-dev/browse_thread/thread/af703524e222c155

@technomancy
Copy link
Owner

Switch off :clean-non-project-classes by default. Closed by c4271c0.

pjstadig pushed a commit to pjstadig/leiningen that referenced this issue May 12, 2011
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants