Я думаю (см. ниже), что хотел бы структурировать проект Clojure как несколько модулей с упорядоченными зависимостями — так же, как Maven позволяет мне делать с многомодульные проекты.
Но я не вижу, как это сделать с Лейнингеном — все, что я вижу, это checkouts исправление, описанное в FAQ который не кажется таким мощным.
Лен сделает это? Должен ли я вместо этого использовать Gradle? Или такая штука не нужна?
Еще немного контекста: мне интересно, как спроектировать модульное приложение, поддерживающее плагины (что, как я полагаю, означает, что банки сбрасываются в путь к классам). И мне интересно, в какой степени я могу структурировать это как ядро + плагины (я думаю, что смогу что-то сделать с Clojure динамическая загрузка кода и не обязательно использовать Java/OSGi). Таким образом, я предполагаю, что основная мотивация для одиночного проекта связана с желанием каким-то образом упаковать все (ядро + плагины по умолчанию) в один большой двоичный объект, который удобен для конечного пользователя, но который также можно разделить. up (и который строится и тестируется фрагментами, проверяя логическую независимость каждого модуля). Более общие советы по этому поводу приветствуются
Обновить
Возможным решением, которое не было упомянуто ниже, является использование плагина Maven. Я предполагаю, что поддерживает все, что делает Maven, но компилирует Clojure, поэтому будет работать с вложенными модулями и т. д.