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