tutorial lein instalar code bridal clojure leiningen

clojure - instalar - ¿Puede tener leiningen cargar el código de la biblioteca desde la fuente local de verificación?



instalar clojure (1)

Digamos que estaba pirateando una biblioteca de clojure que estaba usando en mi proyecto:

/ Usuario / SCdF / Code / myproject /
/ Usuario / SCdF / Code / other-peoples-projects / clojure-library-cloned-from-github

Actualmente, cuando realizo cambios en clojure-library-cloned-from-github , ejecuto lein install para enviar mi nueva versión al repositorio local (he cambiado my project.clj para apuntar a una versión más reciente -SNAPSHOT de la biblioteca para que se actualice cada vez) y luego reiniciar / ejecutar lein deps en myproject .

¿Hay alguna manera en que pueda decirle a Leiningen que busque en ../../clojure-library-cloned-from-github el código fuente de la biblioteca en lugar de utilizar un maven y jar, para que cuando haga cambios en el código se los ve en tiempo de ejecución?


Consulte la funcionalidad de dependencias de pago de Leiningens.

Básicamente, crea un enlace simbólico al directorio de la biblioteca en un subdirectorio llamado ''checkouts'' de su proyecto actual, y lo agrega a su perfil de Leiningen. Ahora ese proyecto también se carga cada vez que se inicia su programa desde Leiningen (REPL, ejecutar).

Si está en Windows, en lugar de hacer un enlace simbólico, debe hacer que el equivalente NTFS de un enlace simbólico a un directorio, llamado '' punto de unión ''.

Tenga cuidado de que esto no funcione si su proyecto no se inicia realmente a través de Leiningen (por ejemplo, en Eclipse / CounterClockWise). Si ejecuta CounterClockWise, necesita agregar la biblioteca que desea como proyecto de Eclipse, luego edite las propiedades del proyecto Eclipse de su propio proyecto: En Java Build Path> Projects, agregue el proyecto de la biblioteca.

Ahora, si comienza desde Eclipse REPL, la biblioteca se incluirá en la ruta de la clase java. Sin embargo, si desea que el proyecto funcione también cuando se ejecuta a través de Leiningen, también debe usar la funcionalidad de verificación.

Por supuesto, cada vez que quiera crear una versión independiente de su programa, el método de pago ya no funcionará, y deberá incluir la biblioteca como una dependencia normal, o incluir una versión integrada en su uberjar.