2011-12-07 17 views
5

Estoy usando un repositorio maven local para albergar algún código que estoy usando para desarrollar un proyecto. He citado este repositorio en mi archivo project.clj, y ahora puedo confiar en las jarras locales de esta manera (cómo hacerlo en una anterior question).Automatización de la administración de dependencia local de Leiningen

Como estoy desarrollando activamente estos proyectos, tengo mi archivo project.clj buscando la versión LATEST. Pero, para actualizar una dependencia, aún tengo que incrementar el número de versión de esa dependencia y luego ejecutar lein install para compilarlo en el repositorio de maven.

¿Leiningen tiene una manera de hacer esto donde esto se hace automáticamente cuando construyo el proyecto que depende de las cosas del maven repo? ¿Puede simplemente buscar esas cosas y reconstruirlas según sea necesario?

+0

duplicado de esto [http://stackoverflow.com/questions/5693621/keeping-dependency-versions-up-to-date-in-leiningen-projects] ..? –

+0

De hecho miré esa pregunta antes de publicar. Me dio una parte de mi respuesta (usando "MÁS RECIENTE" como mi cadena de versión, que en realidad no ha funcionado, todavía no sé por qué). Sin embargo, estoy pensando más en la línea de leer automáticamente los cambios de código de los proyectos locales o incluso compilar proyectos locales sobre la marcha a medida que se utilizan. – benekastah

Respuesta

8

Si desea desarrollar dos proyectos en paralelo, con uno dependiendo del otro, puede usar enlaces simbólicos en un directorio checkouts para evitar tener que instalar instantáneas todo el tiempo.

citar el Leiningen README:

Q: Quiero cortar dos proyectos en paralelo, pero es molesto para cambiar entre ellos.
A: Usa una función llamada dependencias de pago. Si creas un directorio llamado checkouts en tu raíz de proyecto y enlazas simbólicamente otras raíces de proyecto, Leiningen te permitirá hackearlas en paralelo. Eso significa que los cambios en la dependencia serán visibles en el proyecto principal sin tener que pasar por todo el ciclo de instalación/cambio-proyectos/deps/restart-repl. Tenga en cuenta que esto no es un reemplazo para listar el proyecto en: dependencias; simplemente lo complementa para ciclos de cambio más ajustados.

+0

Esto parece exactamente lo que necesito. Lo único que creo es que todavía no estoy seguro de cómo citar la dependencia en el archivo del proyecto. ¿Necesito simplemente usar '" LATEST "' como la versión, y luego cargaré todos los cambios de código la próxima vez que ejecute el proyecto? ¿Cómo funciona ese aspecto? – benekastah

+0

Para cualquier persona interesada en mis preguntas en el comentario anterior, @Christian Berg entra en más detalles [aquí] (http://stackoverflow.com/a/8434053/777929). Gracias, Christian! – benekastah

+0

¡De nada! Tuve que buscar en el código fuente de Leiningen para aprender esto ... –

0

¿Son instantáneas sus versiones de dependencias? Maven debería actualizar todas las dependencias * -SNAPSHOT en build automáticamente.

+0

Ellos son. No estoy seguro de por qué no está funcionando. – benekastah

Cuestiones relacionadas