Ordem de compilação de Leiningen?

Estou apenas aprendendo aleine gostaria de usar de uma fonte Java uma classe criada pordeftype em uma fonte Clojure. Isso não foi abordado no tutorial básico e não consigo fazê-lo funcionar corretamente.

O problema é que a fonte Java não pode importar a classe Clojure, uma vez que ainda não foi compilada. E a classe Clojure não é compilada, já que a compilação é anulada pela fonte Java.

Eu dou um exemplo mínimo:

Crie um novo projeto com:

lein new app javafoo

adicionar àproject.clj

:aot :all
:java-source-paths ["src/java"]

Coloque emsrc/javafoo/core.clj:

(ns javafoo.core)
(deftype PPoint [x y])

Coloque emsrc/java/JavaFoo.java:

package foo.java;
import javafoo.core.PPoint;

public class JavaFoo {
    public static void main(String[] args) {
        System.out.println("JavaFoo");
    }
}

Tente compilar

lein compile

Ele falha compackage javafoo.core doesn't exist. Então agora eu tenho que

Comentar:java-source-pathsCompilarDescomentar:java-source-pathsCompilar

Finalmente funciona. Existe uma maneira de fazer isso funcionar desde o começo?

questionAnswers(1)

yourAnswerToTheQuestion