2010-01-12 8 views
5

usamos Gradle para la construcción de proyectos Java y en este momento tenemos repositorios Ivy para almacenar artefactos de terceros y también para publicar nuestros propios artefactos en (repo es compilación usando los guiones Gant y las tareas Ivy ANT). pero la gestión de repos es básica.
Gradle también puede trabajar con un repositorio maven, por lo que cambiar a un administrador de artefactos Maven como Archiva o Nexus es una opción, pero quizás innecesario. ¿Conoces alguna herramienta o mejores prácticas que puedan ayudarnos a construir y mantener repos de Ivy?¿Alguna de las mejores prácticas o herramientas para los repositorios de Ivy?

para que quede claro: ya hemos leído los tutoriales y más y sabemos cómo hacerlo, pero aún así es básico de mantener.

+0

La pregunta no es muy clara, IMO. –

+0

de hecho, he cambiado el título de la pregunta –

Respuesta

6

En el pasado, solo he usado un repositorio de hiedra para pequeños repositorios privados que publican artefactos usando protocolos sencillos de bajo nivel como un sitio FTP. (Todo el sitio necesita es una estructura de directorios versionados y un archivo deivy.xml describir las arifacts)

El experto en infraestructura basada en repositorio es ahora tan penetrante, con algunos muchos proyectos de usarlo, es casi inútil para promover una alternativa estándar de gestión de repositorio.

Sonatype (compañía detrás de Maven) hace que su producto repositorio, Nexus, esté disponible para todos, porque a todos les interesa mantener bajo control los requisitos de ancho de banda para Maven.

Afortunadamente, la hiedra juega bien con Maven, lo que significa que puedes aprovechar lo mejor de ambos mundos.

0

En mi opinión no hay mucho en el repositorio de Ivy para trabajar porque simplemente funciona. Lo que no puedes hacer con las tareas de Ivy's Ant puedes hacerlo directamente desde el sistema de archivos, así de simple.

Hay que admitir que algo como cambiar el nombre del artefacto puede ser difícil, pero eso es algo que no debes hacer de todos modos.

+1

¿Cómo se maneja el hecho de que la mayoría de las bibliotecas no envían un descriptor ivy.xml? escríbete, conviértete de maven y quítate el cruft, ... tengo la sensación de que estoy perdiendo el tiempo manteniendo los artefactos mientras que no debería –

+0

Normalmente convertimos la base de Maven * (si está disponible) *, mira si es lo suficientemente bueno y sintoniza si es necesario. Por lo general, la base de Maven tiene dependencias adicionales que deben ser revisadas, pero al igual que los artefactos básicos generados han funcionado decentemente hasta el momento. – Esko

1

He creado una entrada de blog sobre my Ivy repository layout and choices. Puede tener diferentes requisitos, pero creo que siempre es bueno verificar las soluciones de otros para obtener algunas ideas ...

1

Hay un proyecto comunitario llamado Ivy Roundup que tiene como objetivo construir un depósito de hiedra constante y actualizado de bibliotecas de terceros. Puede ser una buena idea hacer coincidir las convenciones de nomenclatura utilizadas allí, o incluso mejor, simplemente obtener módulos desde allí usando el <ivy:install> task.

0

Lo que normalmente hago en la práctica cuando necesito una biblioteca de terceros es buscarla en el MVN repository y luego hacer clic en la pestaña "Ivy" para obtener la dependencia de Ivy para mi ivy.xml.

Cuestiones relacionadas