On 2019-01-21 14:49, Moritz Mühlenhoff wrote:

We can only support one OpenJDK relase in a stable release and that version
will be openjdk-11. I'm bumping the severity back to serious.

Cheers,
        Moritz

So here's the issue with Leiningen and Java 11. We previously tracked down some sort of bytecode incompatibilty problem. When Leiningen is built with Java 11, it seems to recompile every time it's run, leading to unacceptable performance, and it results in *different* help output, which is baffling.

Phil, have we attempted building Leiningen with Java 11 upstream?


Built with Java 8
-----------------

elana@debian:/debian$ time lein help
Leiningen is a tool for working with Clojure projects.

...
real    0m2.961s
user    0m3.511s
sys     0m0.381s
elana@debian:/debian/leiningen-clojure$ sadt
..

OK (tests=2)


Built with Java 11
------------------

elana@debian:/debian$ time lein help
Leiningen is a tool for working with Clojure projects.
...
real    0m10.659s
user    0m12.258s
sys     0m0.787s
elana@debian:/debian/leiningen-clojure$ sadt
.F
======================================================================
FAIL: test-lein (exit code: 1)

FAILED (tests=2, failures=1)
elana@debian:/debian/leiningen-clojure$ bash debian/tests/test-lein
lein check 1 failed
diff:
4c4,5
< change              Rewrite project.clj by applying a function.
---
WARNING: cat already refers to: #'clojure.core/cat in namespace: net.cgrand.regex, being replaced by: #'net.cgrand.regex/cat change Rewrite project.clj with f applied to the value at key-or-path.
6,7c7,8
< classpath           Print the classpath of the current project.
< clean               Remove all files from project's target-path.
---
classpath Write the classpath of the current project to output-file. clean Removes all files from paths in clean-targets for a project
9,10c10,11
< deploy              Build and deploy jar to remote repository.
< deps                Download all dependencies.
---
deploy              Deploy jar and pom to remote repository.
deps                Show details about dependencies.
12,13c13,14
< help                Display a list of tasks or help for a given task.
< install Install the current project to the local repository.
---
help Display a list of tasks or help for a given task or subtask. install Install jar and pom to the local repository; typically ~/.m2.
16c17
< new                 Generate project scaffolding based on a template.
---
new Generate scaffolding for a new project based on a template.
19c20
< release             Perform :release-tasks.
---
release             Perform release tasks.
22c23
< run Run a -main function with optional command-line arguments.
---
run                 Run the project's -main function.
27c28
< uberjar Package up the project files and dependencies into a jar file.
---
uberjar Package up the project files and all dependencies into a jar file.

Reply via email to