Cómo utilizar leiningen para desarrollar el uso local de los frascos?
-
29-10-2019 - |
Pregunta
Me doy cuenta de que esta pregunta es más o menos la misma pregunta encontrado aquí.Sin embargo, viendo que la pregunta es de 1,5 años de edad (más o menos), me gustaría revisarlo.¿Cómo hace uno para agregar local dependencias de uso de leiningen?Seguramente esta capacidad debe existir por ahora?
Solución
Crear un privado Repositorio de Maven, y , a continuación, agregue lo siguiente a su project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository")))}
Otros consejos
Si los frascos están basados en sus propios proyectos, puede usar lein install
para ponerlos en su .m2 local, o usar la función de dependencias de pago.
También puede utilizar la función de rutas de clases adicionales, etc.
Descubrí que la solución más fácil (aunque algo hacky) es hacer lo siguiente:
Para un proyecto existente que está utilizando como dependencia:
- En su proyecto local que tiene la dependencia que desea modificar, asegúrese de ejecutar
lein deps
- Clone el repositorio de esta dependencia para que pueda modificarlo localmente (obv. asegúrese de que está usando la misma etiqueta que la versión que especifica en su archivo project.clj)
- Ejecute
lein uberjar
en este directorio de dependencia (donde reside el archivo project.clj relevante) - Copie el jar independiente generado en target / a la ruta / archivo exacto de sus archivos maven locales ... (algo como: ~ / .m2 / repository / project /.../ file.jar); Asegúrese de hacer una copia de seguridad del archivo jar original para que pueda restaurarlo más adelante si lo desea
Para el desarrollo de su propio proyecto:
- Dentro del proyecto o complemento que está desarrollando, simplemente ejecute
lein install
- Descubra dónde está su repositorio maven local (consulte más arriba para ver una ruta de ejemplo)
- Ingrese la información de dependencia en su proyecto de prueba como lo haría con cualquier otro proyecto de Leiningen
De nuevo, este es un truco rápido y tal vez no sea la forma en la que harías un desarrollo local serio, pero me pareció bastante fácil para lo que quería. Consulte lein help tutorial
para obtener mucha más información