Creación de construcciones herméticas de Maven

Estoy intentando crear una forma en la que se puedan lograr construcciones herméticas sin dejar de depender de las dependencias de SNAPSHOT en su proyecto.

A modo de ejemplo, digamos que tengo un proyecto que tiene una estructura de dependencia como esta:

             ┌ other-1.2-SNAPSHOT
mine-1.2.3 ──┤
             └ thing-3.1-SNAPSHOT ── gizmo-6.1.3-SNAPSHOT

Lo que me gustaría hacer es resolver todas las dependencias de SNAPSHOT localmente a algo relacionado con mi versión actual y luego implementarlas como lanzamientos en el repositorio de lanzamientos de mi Nexus. No todas estas dependencias son internas, por lo que no puedo simplemente hacer un lanzamiento en cada una.

Entonces, en este ejemplo,other-1.2-SNAPSHOT se convertiría en algo así comoother-1.2-mine-1.2.3 ything-3.1-SNAPSHOT se convertiríathing-3.1-mine-1.2.3. Esto es relativamente trivial en aproximadamente 60 líneas de python.

El problema, sin embargo, está en la resolución de SNAPSHOT transitivos a versiones concretas. Así que también necesito convertirgizmo-6.1.3-SNAPSHOT agizmo-6.1.3-mine.1.2.3 y tienething-3.1-mine-1.2.3 depende de ello.

Este es solo un ejemplo de una manera de lograr lo que quiero. El objetivo es que en un año o dos en el futuro pueda revisar mi versión de lanzamiento para la versión 1.2.3 y poder ejecutarmvn clean package o similares sin tener que preocuparse por resolver las dependencias de SNAPSHOT de hace mucho tiempo.

Es importante que esta rama sea compilable y no solo retenga todas las dependencias usando algo como eljar-and-dependencies Funcionalidad del complemento de montaje. Me gustaría poder modificar los archivos de origen y crear otra versión de lanzamiento (por ejemplo, aplicando un hotfix).

Asi que,

¿Hay algo como esto disponible que pueda convertir las dependencias de SNAPSHOT de manera recursiva para ser concreto?¿Hay algún plugin que maneje este tipo de cosas por ti? El plugin de lanzamiento tenía promesa con algunas opciones de configuración en subranch objetivo pero no se resuelve deps externos al grado que yo quiero.¿Existen otras técnicas disponibles para crear construcciones herméticas de Maven?

Respuestas a la pregunta(2)

Su respuesta a la pregunta