Creo (ver a continuación) que me gustaría estructurar un proyecto Clojure como módulos múltiples, con dependencias ordenadas, tal como Maven me permite hacer con multi-modules projects.¿Cuál es la mejor manera de estructurar y crear aplicaciones Clojure con complementos?
Pero no puedo ver cómo hacerlo con Leiningen, todo lo que puedo ver es la corrección checkouts
descrita en el FAQ que no parece ser tan poderosa.
¿Le hará esto? ¿Debería usar Gradle en su lugar? ¿O no se necesita este tipo de cosas?
Un poco más de contexto: me pregunto cómo diseñar una aplicación modular que sea compatible con los complementos (lo que supongo significa que los archivos descargados en el classpath). Y me pregunto hasta qué punto puedo estructurar eso como core + plugins (estoy pensando que debería poder hacer algo con Clojure's dynamic code loading y no tener que ir con Java/OSGi). Así que supongo que la motivación para un proyecto solo proviene de querer alguna forma de empaquetar todo (los complementos core + default) como un blob simple que es fácil para el usuario final, pero que también se puede dividir (y que es construido y probado en fragmentos, probando la independencia lógica de cada módulo). obtener más consejos generales sobre este es bienvenido
actualización
Una posible solución que no se mencionan a continuación es el uso de un Maven plugin - Asumo que apoya todo lo Maven hace, pero compila Clojure, así que voy a trabajar con módulos anidados , etc.
gracias por todo eso. –
Actualizado: Parece que Leiningen ahora es compatible con la jerarquía de módulos ... según la descripción del complemento [lein-modules] (https://github.com/jcrossley3/lein-modules). – pershyn