Brandon Harvey
2012-03-15 23:09:39 UTC
I have a fairly small project (<500 lines of Clojure code) that takes an
extremely long time to generate an uberjar. (Lein 1.7, Clojure 1.3). Some
features of the project:
- The project uses one jar file that's locally installed, using leiningen
- I use a simple invocation of gen-class in both of the project's (two)
code files
- One code (main.clj) file simply contains -main.
- The other code file (core.clj) contains a bunch of functions, one of
which is -marked for gen-class
- I call out the core file for :aot. I want its function to be callable
from Java.
Here is my project.clj:
(defproject jamsession "1.0.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.3.0"]
[aleph "0.2.1-beta1"]
[jelly "0.1.2-SNAPSHOT"]]
:aot [jamsession.core]
:main jamsession.main)
Here's output from an uberjar run that never (perhaps someday...) completes.
Copying 7 files to /Users/sandover/src/projects/jamsession/lib/dev
Compiling jamsession.core
Warning: *html-compatible* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *html-compatible* or change the name.
Warning: *prxml-indent* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *prxml-indent* or change the name.
Warning: *prxml-tag-depth* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *prxml-tag-depth* or change the name.
Compiling jamsession.main
Can anyone help? Thanks! I've tried commenting out :aot/gen-class for
core.clj. Not sure what else to try.
Brandon
extremely long time to generate an uberjar. (Lein 1.7, Clojure 1.3). Some
features of the project:
- The project uses one jar file that's locally installed, using leiningen
- I use a simple invocation of gen-class in both of the project's (two)
code files
- One code (main.clj) file simply contains -main.
- The other code file (core.clj) contains a bunch of functions, one of
which is -marked for gen-class
- I call out the core file for :aot. I want its function to be callable
from Java.
Here is my project.clj:
(defproject jamsession "1.0.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.3.0"]
[aleph "0.2.1-beta1"]
[jelly "0.1.2-SNAPSHOT"]]
:aot [jamsession.core]
:main jamsession.main)
Here's output from an uberjar run that never (perhaps someday...) completes.
lein uberjar
Copying 20 files to /Users/sandover/src/projects/jamsession/libCopying 7 files to /Users/sandover/src/projects/jamsession/lib/dev
Compiling jamsession.core
Warning: *html-compatible* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *html-compatible* or change the name.
Warning: *prxml-indent* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *prxml-indent* or change the name.
Warning: *prxml-tag-depth* not declared dynamic and thus is not dynamically
rebindable, but its name suggests otherwise. Please either indicate
^:dynamic *prxml-tag-depth* or change the name.
Compiling jamsession.main
Can anyone help? Thanks! I've tried commenting out :aot/gen-class for
core.clj. Not sure what else to try.
Brandon