2010-02-02 20 views
8

Estoy creando proyectos de Maven a través de TeamCity/Git e intentando insertar los números de compilación de TeamCity en el pom.xml que se publica en mi repositorio después de una compilación exitosa. Desafortunadamente no puedo determinar cómo publicar un pom.xml con las sustituciones insertadas.Publicación de POM a través de Maven e insertando información de la versión de compilación

Mi pom.xml contiene información como:

<version>${build.number}</version> 

donde build.number es proporcionada por TeamCity. Que todo construye bien, y si (digamos) build.number = 0.1, entonces la implementación es pom.xml a un directorio con 0.1. Todo bien y bien

Sin embargo, el pom.xml que se implementa es el pom.xmlsin las sustituciones realizadas. es decir Maven se está ejecutando con un pom.xml con sustituciones apropiadas, pero se despliega la versión inicial y por lo que obtener

<version>${build.number}</version> 

en la final pom.xml. ¿Cómo puedo obtener el número de versión de compilación en el pom.xml?

+0

¿Por qué downvote para la pregunta? –

Respuesta

3

No utilizaría este enfoque porque hace que la creación de un proyecto desprotegido desde el SCM no sea posible sin proporcionar la propiedad build.number. No creo que esto sea algo bueno. Aunque tal vez me esté perdiendo algo.

En realidad, no obtengo exactamente lo que intentas lograr (¿por qué no escribes el número de compilación en el manifiesto, por ejemplo)? Pero, de acuerdo con el Maven Features en el sitio web TeamCity:

Por defecto, sino que también mantiene el número de compilación TeamCity en sincronía con el número de versión de Maven (...).

¿No podría ser útil? Hay otro hilo sobre esto here.

+0

Puedo compilar un proyecto desprotegido proporcionando un perfil predeterminado con un número de compilación de 'NINGUNO' (o similar), y mi compilación de TeamCity usa un perfil diferente que usa la propiedad de TeamCity. ¿Eso aborda su primera preocupación? Mi compilación principal está implementando un pom.xml solo. Me gustaría cambiar eso, luego hacer que TeamCity cree/implemente un nuevo número de compilación y cambie la versión * dentro * del pom.xml desplegado. Tiene sentido ? Voy a ver ese enlace, sin embargo. –

+0

@Brian Aunque me gusta el mecanismo SNAPSHOT (pero esa es otra historia), el truco del perfil funcionará para el primer punto. En cuanto al segundo punto, no estoy seguro de obtener todo. Usualmente uso el complemento de lanzamiento para cambiar la versión, crear una rama, etc. Lo pensaré. –

+0

thx. Mi conocimiento de Maven está estrictamente limitado. –

Cuestiones relacionadas