Ivy: usando revisiones dinámicas

Tengo problemas para entender cómo usar revisiones dinámicas deHiedra efectivamente en mis proyectos de Java.

Actualmente, tengo el siguiente diseño:

lib-a
revision: 1.0.0
status: release
dependencies: none

lib-b
revision: 2.0.0
status: release
dependencies: lib-a, rev 1.0.0

project-a
revision: 3.0.0
status: release
dependencies: lib-b, rev 2.0.0

project-b
revision: 4.0.0
status: release
dependencies: lib-b, rev 2.0.0

Eso significa que siempre mantengo el estado pararelease y usar números de versión explícitos. Si yo cambiolib-a durante el desarrollo, digamoslib-a, esto es bastante doloroso.

Guardo los cambios enlib-a, actualice la revisión en el archivo ivy a1.0.1 Por un cambio menor. Luego necesito actualizar las dependencias de lib-b para anunciar la revisión 1.0.1 de lib-a. Ahora podría actualizar la revisión delib-b y tambiénproject-a porqueproject-a es el ejecutable y contiene pruebas de integración que necesito ejecutar.

La segunda forma es volver a publicar.lib-b Con dependencias actualizadas pero con la misma versión. Esto generalmente funciona con ant en la línea de comando pero no para NetBeans confrijoles de hiedra enchufar. Todavía usan una versión en caché del archivo hiedra delib-b. Así que necesito limpiar el caché local para que funcione.

Yo uso un comunbuild-ivy.xml script ant que se encuentra en nuestro repositorio SVN para todos los proyectos. Cada proyecto tiene unabuild.xml en la raíz del proyecto que la mayoría de las veces simplemente incluye elbuild-ivy.xml. A veces las tareas necesarias se agregan o sobrescriben. Acabo de leeraquí yaquí que la solución podría estar utilizando revisiones dinámicas. Por lo que yo entiendo, me gustaría establecer la revisión en todos los archivos de hiedra paraintegration-latest y establecer el estado en todos los archivos de hiedra aintegration. Entonces, hiedra siempre resolvería la última versión automáticamente. ¿Pero a qué me gustaría configurar la revisión de mis módulos? ¿Omitirlo por completo? ¿Cómo crear una versión de lanzamiento? ¿Debo cambiar todos los archivos de hiedra y establecer el estado enrelease o realizaría una tarea de entrega antes de publicar un módulo con la sobrescritura del estado pararelease ¿si es posible?

Respuestas a la pregunta(1)

Su respuesta a la pregunta