venantius / ultra

A Leiningen plugin for a superior development environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.