estoy corriendo experto construye a partir TeamCity y haciendo uso de build.vcs.number a escribir la revisión de Subversion en mi manifiesto. En cualquier Maven construir con Subversion como el VCS, TeamCity añadepropiedades perdidas durante la liberación de Maven: realizar
-Dbuild.vcs.number=1234
a la línea de comandos experto, donde 1234 es la última revisión en la rama está construyendo.
Luego, en mi pom.xml, tengo
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<build>${build.vcs.number}</build>
</manifestEntries>
</archive>
</configuration>
</plugin>
Todo esto funciona bien hasta que corro liberación Maven: realizar (también de TeamCity), momento en el que $ {} build.vcs.number será nulo , aunque puedo ver en el registro de compilación de TeamCity que esta propiedad se transfirió a la línea de comando.
La documentación experto de liberación-plugin Maven implica que ejecuta un proceso en forma de horquilla en algún momento durante la meta realizar - ¿Es por eso que tengo el problema?
¿Hay alguna manera de asegurarme de que esta propiedad en particular pase a través de ese proceso bifurcado?
Ah brillantes, exactamente lo que estaba buscando. – RCross