En experta que es muy fácil de configurar las propiedades de un pom con la siguiente sintaxis:En Maven, ¿cómo puedo construir dinámicamente un valor de propiedad en tiempo de ejecución?
...
<properties>
<myValue>4.06.17.6</myValue>
</properties>
...
Ahora necesito para construir una propiedad que depende de la versión de mi pom. Para la creación de la propiedad que quiero hacer lo siguiente (pseudo código java):
String[] parts = version.split("\\.");
String.format("V%s_%s_%s_P%s", splitted[0], splitted[1],splitted[2],splitted[3]);
// example: 4.06.17.6 => V_4_06_17_P6
Debe ser dinámico, ya que se utiliza como un nombre de etiqueta en nuestro repositorio y siempre debe estar sincronizado con la versión de la artefacto.
¿Alguna idea sobre cómo crear esas propiedades "dinámicas"?
Y si no enlace el complemento a una fase. Estoy usando el complemento de lanzamiento maven y llamo al lanzamiento del objetivo: preparar. ¿Cómo lo hago disponible aquí? – EhmKah
si no especifica una fase, de forma predeterminada está vinculada a la fase 'validate', por lo que el fragmento de código anterior ejecutará el objetivo cuando la fase de validación esté activa. cuando invocas un objetivo directamente, p. 'release: prepare', lo que sucede es que maven ejecuta el objetivo salteando directamente las fases del ciclo de vida, por lo que el objetivo' release: prepare' no verá la propiedad * pero * el ciclo de vida * bifurcado * por 'release: prepare' se verá eso. Por lo tanto, 'release: prepare' no podrá usar la propiedad para etiquetar SCM, pero la propiedad estará presente en la versión bifurcada ejecutada en el complemento de publicación –
Si desea tener la etiqueta SCM basada en la propiedad (debe actualizar su pregunta para reflejar que este es su objetivo, o comenzar una segunda pregunta) entonces es posible que necesite usar algo como http://maven.apache.org/plugins/maven-release-plugin/prepare-mojo.html#tagNameFormat though eso no te dará la sustitución '_' que deseas ni la inyección' _P'. Recomiendo cambiar los requisitos del nombre de la etiqueta en lugar de intentar doblegar Maven ;-) –