Problem with Alembic
malloc82 opened this issue · comments
Enabling ultra seems to break alembic. Alembic is used to load library from repl without restarting it. After enabling ultra, I have this error when I try to load a library with alembic:
user=> (require 'alembic.still)
nil
user=> (alembic.still/distill '[enlive "1.1.5"])
java.io.FileNotFoundException: Could not locate fipp/engine__init.class or fipp/engine.clj on classpath:
clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate fipp/engine__init.class or fipp/engine.clj on classpath: , compiling:(puget/printer.clj:1:1)
java.lang.reflect.InvocationTargetException:
user=>
Removing alembic from profiles.clj, alembic works again.
Although it does seem that more of ultra's dependency breaks it.
Fundamentally, this is related to #47.
To be clear: Ultra has a dependency on Fipp. Fipp requires reader conditional support, which was introduced in Clojure 1.8.0. Whatever classloading magic Alembic uses does not support one of: {Clojure 1.8.0, reader conditional support}.
It is, therefore, not an issue with Ultra. It is an issue with Alembic not supporting Clojure 1.8.0.