Как лучше структурировать и создавать приложения Clojure с помощью подключаемых модулей?

Я думаю (см. ниже ), что я хотел бы структурировать проект Clojure как несколько модулей с упорядоченными зависимостями -так же, как Maven позволяет мне делать с многомодульными -проектами .

Но я не вижу, как это сделать с Лейнингеном -все, что я вижу, это checkoutsисправление, описанное в FAQ , которое не кажется таким мощным.

Сделает ли это Лейн? Должен ли я вместо этого использовать Gradle? Или такая штука не нужна?

Еще немного контекста :Мне интересно, как спроектировать модульное приложение, поддерживающее плагины (, которые, как я полагаю, означают дамп jar-файлов в пути к классам ). И мне интересно, до какой степени я могу структурировать это как ядро ​​​​+ плагины (. Я думаю, что должен быть в состоянии сделать что-то с Clojure динамической загрузкой кода и не должен идти с Java/OSGi ). ]. Таким образом, я предполагаю, что основная мотивация для одиночного проекта связана с желанием каким-то образом упаковать все (ядро ​​+ плагины по умолчанию )в один большой двоичный объект, который удобен для конечного пользователя, но который может также быть разделенным (и который строится и тестируется по фрагментам, проверяя логическую независимость каждого модуля ). Более общие советы по этому поводу приветствуются

Обновление

Возможное решение, которое не было упомянуто ниже, — это использование плагина Maven-Я предполагаю, что он поддерживает все, что делает Maven, но компилирует Clojure, поэтому будет работать с вложенные модули и т. д.

12
задан Community 23 May 2017 в 12:08
поделиться