2012-03-27 3 views
7

Necesito usar la biblioteca mongo-storm y Clojars no have it. Así que cloné el proyecto, compilé y copié el frasco en mi carpeta lib a mano. Pero es un proyecto de equipo y es inaceptable que cada miembro haga esos pasos a mano.Cómo compartir una dependencia que no está en Clojars

¿Hay alguna idea mejor y estándar sobre cómo solucionar este problema?

+2

También puede usar "lein install" para hacer que la dependencia esté disponible localmente en su computadora. Luego puede usarlo desde otro proyecto de la manera habitual. (No es necesario copiar los tarros manualmente.) Sin embargo, esto podría no ser conveniente para un equipo. – raek

Respuesta

10

Su equipo debe tener un repositorio privado para este fin. S3 es un sustrato ideal para esto, y se puede usar el plugin Leiningen s3-carro-privada para implementar y consumir artefactos a/desde un asegurado depósito de S3:

https://github.com/technomancy/s3-wagon-private

2

Si el proyecto tiene una licencia que permite (si es de código abierto) puede enviar su propia versión no oficial a Clojars usando su propia identificación de grupo. Clojars reserva los ID del grupo "org.clojars.username" para este fin. Esto se describe en https://github.com/ato/clojars-web/wiki/tutorial y https://github.com/technomancy/leiningen/blob/master/doc/DEPLOY.md.

La mejor manera sería probablemente si pudieras contactar al autor y pedirle a él/ella que haga un lanzamiento apropiado. (Además, el archivo Léame no indica qué licencia tiene el proyecto.)

2

Una solución que no requiere la configuración de un repositorio privado sería aprovechar la capacidad de checkouts en leiningen.

+0

Mi versión de Lein es 1.7, los checkouts son lein 2 feature – Chiron

+0

Mirar fuentes 1.7.1, de hecho es [compatible] (https://github.com/technomancy/leiningen/blob/1.7.1/src/leiningen/classpath. clj # L22) – skuro

+0

Correcto, las cajas han existido por mucho tiempo. Pero usar un repositorio basado en S3 es mucho mejor para este caso de uso. – technomancy

0

Idealmente, si su equipo está utilizando un sistema de administración de dependencias basado en maven (como Leiningen), tendría un administrador de repositorio configurado. A continuación, puede implementar la biblioteca en el administrador de repositorio de su equipo.

La mayoría de los administradores de repositorios tienen Maven central ya está incluido y que sea fácil de añadir repositorios adicionales tanto al proxy (por ejemplo, Clojars) y alojar su propio repositorios (por mongo-tormenta y el proyecto está siendo desarrollado).

Después de obtener una configuración, una de las cosas que querrá asegurarse de que su equipo sea está configurada como un proxy de repositorio o como un repositorio adicional para extraer los archivos jar.

Puede encontrar una lista de administradores de repositorios en el maven site.

Cuestiones relacionadas